主題: 如何將個人圖像寫入模版? 作者: Jas 於 四月 07, 2005, 09:11:29 上午 我想請問一個問題關於:如何將個人圖像寫入模版。
在個人網誌設定 » 網誌作家設定 裡有個人圖像功能, 可以提供User客製自訂個人大頭肖像, 不過, 目前,個人圖像似乎只出現在summary這個模版的UserList頁面上, 其他的模版都沒有概括進去, 我猜想這可能是因為個人圖像是1.0才新增的, 而目前的模版大致上都是沿用0.3x的緣故吧, 我試過直接把summary裡的語法直接拿到自訂模版去用, 結果根本不管用, 不曉得有沒有人能提供個人圖像寫入模版的正確解法? 謝謝! 主題: 如何將個人圖像寫入模版? 作者: markwu 於 四月 07, 2005, 11:29:06 上午 你試試看
程式碼: {if $user->hasPicture()} Mark ** $user 是新的 object,應該可以用在所有的 template 中 ** $user->hasPicture() 是用來判斷是不是使用者已經設定大頭貼了 ** $user->getPicture() 會傳回 resource 的物件。 主題: 如何將個人圖像寫入模版? 作者: Anonymous 於 四月 07, 2005, 02:37:04 下午 謝謝mark的回覆,
其實我先前就是這樣試的, 結果會出現: 程式碼: Fatal error: Call to a member function on a non-object in /home/crescent/public_html/plog/tmp/2/%%-11^%%-1198881322^header.template.php on line 53 照著錯誤訊息查看我的模版在45行至60行之間的語碼: 程式碼: <p>{if !empty($karma)} 看起來並沒有讓前一段語法出現錯誤的東西, 照理說mark提的這種方式應該可行, 不過每一次都遇到Fatal error: Call to a member function on a non-object 主題: 如何將個人圖像寫入模版? 作者: markwu 於 四月 07, 2005, 02:46:53 下午 不不.... 在編譯後的 /home/crescent/public_html/plog/tmp/2/%%-11^%%-1198881322^header.template.php 第 53 行錯誤,不代表在 header.templaye 的 53 行錯誤,可能是第 20 錯的。
因為編譯過後的是 PHP 程式,而非模版。 你的網站在哪,能看我看一下嗎?另外可以把模版你修改的部分完整的 post 上來嗎? Mark 主題: 如何將個人圖像寫入模版? 作者: markwu 於 四月 07, 2005, 02:59:02 下午 引用自: markwu 不不.... 在編譯後的 /home/crescent/public_html/plog/tmp/2/%%-11^%%-1198881322^header.template.php 第 53 行錯誤,不代表在 header.templaye 的 53 行錯誤,可能是第 20 錯的。 因為編譯過後的是 PHP 程式,而非模版。 你的網站在哪,能看我看一下嗎?另外可以把模版你修改的部分完整的 post 上來嗎? Mark 另外我剛剛看了一下程式,不是你的問題,而是 $user 物件沒傳出來 ...mmm... 我想想。 Mark 主題: 如何將個人圖像寫入模版? 作者: markwu 於 四月 07, 2005, 10:12:29 下午 Hi Jas:
我找出原因了!是 bug .. 我在修。 Mark 主題: 如何將個人圖像寫入模版? 作者: Jas 於 四月 08, 2005, 08:59:13 上午 辛苦你了,
mark 希望這個問題不至於太麻煩而增加你的負擔, 不過我也在想, 如果個人圖像也顯示在個人模版上, 那麼整個頁面的個人化風格會更強一些, 相信這會是pLog未來推廣的一大利多, 因為它的後台操作實在是太便利了, 總之,謝啦! 主題: 問題解決了 作者: Jas 於 四月 18, 2005, 09:41:56 上午 這個問題解決了。
如果有也有人想在模版上加入個人圖像, 作法是將以下語法貼到你想要秀出個人圖像的地方即可: 程式碼: {assign var=blogOwner value=$blog->getOwnerInfo()} 如果怕有人上傳了尺寸太大的圖而破壞畫面, 可以在img標籤裡加入尺寸參數比方說: 程式碼: <img src="{$url->resourcePreviewLink($picture)}" alt="{$blogOwner->getUsername()}" width="80" height="80"/> 就樣就萬無一失了。 主題: Re: 問題解決了 作者: markwu 於 四月 18, 2005, 09:50:18 上午 引用自: Jas 這個問題解決了。 如果有也有人想在模版上加入個人圖像, 作法是將以下語法貼到你想要秀出個人圖像的地方即可: 程式碼: {assign var=blogOwner value=$blog->getOwnerInfo()} 如果怕有人上傳了尺寸太大的圖而破壞畫面, 可以在img標籤裡加入尺寸參數比方說: 程式碼: <img src="{$url->resourcePreviewLink($picture)}" alt="{$blogOwner->getUsername()}" width="80" height="80"/> 就樣就萬無一失了。 Ah ....Jas,抱歉! 我一直忘了回復這個問題。如 Jas 說的,透過 blogownerinfo就可以了!我在 templte 中加入一個新的物件,叫做 owner,所以在 1.01 (開發中),直接以 owner 來作就可以了!不需要再經過 $blog->getOwnerInfo 來取得 owner 的 information. {if $owner->hasPicture()} {assign var=picture value=$owner->getPicture()} <img src="{$url->resourcePreviewLink($picture)}" alt="{$owner->getUsername()}" /> {/if} 有興趣可以透過 SVN 直接取得 1.0.1 的開發程式碼! http://devel.lifetype.net/svn/plog/plog/branches/plog-1.0.1 Mark 主題: Re: 如何將個人圖像寫入模版? 作者: yufeng 於 一月 11, 2006, 11:45:27 下午 hi,markwu 你好, 我的lifetype是1.0.2版本,也遇到了这个问题...
我试验了你的方法, 如果只在panel.template中加入 程式碼: {if $owner->hasPicture()} 但是在前面加入 程式碼: {assign var=owner value=$blog->getOwnerInfo()} 主題: Re: 如何將個人圖像寫入模版? 作者: 3gboke 於 一月 20, 2006, 04:03:05 上午 hi ,,我也修改了. 不过也有yufeng 报告的情况, 按照yufeng的方式添加了,, 在回复评论页面处出现错误.
我在panel中修改添加代码如下: {assign var=owner value=$blog->getOwnerInfo()} {if $owner->hasPicture()} {assign var=picture value=$owner->getPicture()} <img src="{$url->resourcePreviewLink($picture)}" alt="{$owner->getUsername()}" width="180" height="160"/> {/if} <div class="sidetitle">关于作者</div> <div class="side"> {assign var=blogOwner value=$blog->getOwnerInfo()} {if $blogOwner->getAboutMyself()} <P>{$blogOwner->getfullName()}</P> <P>{$blogOwner->getAboutMyself()}</P> {/if} </div> 但是在发表评论的页面初出现错误. 而在其他页面并无错误. 错误代码为: Fatal error: Call to a member function isEnabled() on a non-object in E:\AppServ\www\lifetype\tmp\1\%%-66^%%-66376128^commentform.template.php on line 30 主題: Re: 如何將個人圖像寫入模版? 作者: markwu 於 一月 20, 2006, 08:46:05 上午 你可以簡化成:
{assign var=owner value=$blog->getOwnerInfo()} {if $owner->hasPicture()} {assign var=picture value=$owner->getPicture()} <img src="{$url->resourcePreviewLink($picture)}" alt="{$owner->getUsername()}" width="180" height="160"/> {/if} <div class="sidetitle">关于作者</div> <div class="side"> {if $owner->getAboutMyself()} <P>{$owner->getFullName()}</P> <P>{$owner->getAboutMyself()}</P> {/if} </div> BTW, 是你的 getFullName() 大小寫寫錯了! Mark 主題: Re: 如何將個人圖像寫入模版? 作者: 3gboke 於 一月 20, 2006, 05:59:47 下午 :-| 汗ing 是smileys 插件引起的.. 删除就OK了
主題: Re: 如何將個人圖像寫入模版? 作者: niveko 於 三月 19, 2006, 01:03:13 上午 Hi Mark:
根据你的代码“<img src="{$url->resourcePreviewLink($picture)}" alt="{$owner->getUsername()}" width="180" height="160"/>” 那取得的图片是Preview的,在经过width="180" height="160" 就会使得图片不清楚了! 请问你有没有办法取得原来大小的图片呢?还有怎么可以得到原来图片大小的真实象素!谢谢! 主題: Re: 如何將個人圖像寫入模版? 作者: lss 於 三月 19, 2006, 01:25:00 上午 Hi Mark: 根据你的代码“<img src="{$url-> 那取得的图片是Preview的,在经过width="180" height="160" 就会使得图片不清楚了! 请问你有没有办法取得原来大小的图片呢?还有怎么可以得到原来图片大小的真实象素!谢谢! 主題: Re: 如何將個人圖像寫入模版? 作者: niveko 於 三月 19, 2006, 11:13:52 上午 多谢LSS, 现在得到的图像就比较清楚了! :-D
|