LifeType 中文開發論壇

支援 => 安裝與設定 => 主題作者是: Poker Me 於 十一月 26, 2005, 01:08:28 上午



主題: 請問一下關於顯示分類的描述
作者: Poker Me十一月 26, 2005, 01:08:28 上午
查了两个贴子:
http://forum.lifetype.org.tw/index.php?topic=445.0
http://forum.lifetype.org.tw/index.php?topic=930.0
也知道了 {$category->getDescription()}
但是当我加在 post.template


<!-- {$url->postTrackbackLink($post)} -->
{assign var="postDate" value=$post->getDateObject()}
{assign var="postOwner" value=$post->getUserInfo()}
      <!-- post start -->
      <div class="post-title">
         <em>
            [{foreach name=categories from=$post->getCategories() item=postcategory}
            <a href="{$url->categoryLink($postcategory)}">{$postcategory->getName()}</a>
            {if !$smarty.foreach.categories.last}, {/if}
            {/foreach}]
         </em>
         {$locale->formatDate($postDate,"%d %B, %Y %H:%M")}</br>
      {$category->getDescription()}       
</div>
      <p class="post-info"><a href="{$url->postPermalink($post)}" rel="bookmark" title="Permanent Link: {$post->getTopic()}"> {$post->getTopic()} </a></p>
      <div class="post-content">{$post->getText()}</div>
      <div class="post-footer"><span class='link-comment'>[<a href="{$url->postPermalink($post)}"> ({$post->getTotalComments()}) {$locale->tr("comment on this")} </a>]</span>&nbsp;|&nbsp;[<a href="{$url->postTrackbackStatsLink($post)}"> ({$post->getNumTrackbacks()}) {$locale->tr("trackbacks")}  </a>]&nbsp;|&nbsp;[<a href="{$url->postPermalink($post)}">{$locale->tr("permalink")}</a>]&nbsp;|&nbsp;[&nbsp;{$post->getNumReads()}&nbsp;Readers&nbsp;]</div>



得到这个错误i信息:
Fatal error: Call to a member function on a non-object

 in /usr/local/psa/home/vhosts/lastminder.com/httpdocs/plog/tmp/1/%%-14^%%-1489170800^post.template.php on line 28
各位高手有没有什么想法请指点一二!!! :'( :'( :'(

我用的是网上的hosting comapny到现在没有什么安装错误,plog 1.0 上个星期下载的!



主題: Re: 請問一下關於顯示分類的描述
作者: markwu十一月 26, 2005, 01:40:26 上午
不太對!雖然你想法是對的。

首先你要知道在這個頁面,並沒有 $category 這個物件,套句 MT 或是 WordPress 的話,叫做沒有這個模版標籤。

他只有 $categories (文章分類集合)以及  $postcategory(文章分類)

程式碼:
         <em>
            [{foreach name=categories from=$post->getCategories() item=postcategory}
            <a href="{$url->categoryLink($postcategory)}">{$postcategory->getName()}</a>
            {if !$smarty.foreach.categories.last}, {/if}
            {/foreach}]
         </em>

所以如果你要取出這一段模版的文章分類的描述,你必須把 你所用的 $category 換成了 $postcategory,所以整段必須改成

程式碼:
  {$postcategory->getDescription()}     


另外,記得這一段必須放在  {foreach}...{/foreach} 之內。因為 $postcategory 這個標籤只在 這裡面有效,為什麼呢?我解釋一下:

1. $post 是 LifeType 的系統預設物件
2. 我們由$post 中透過 $post->getCategories() 來取得他的文章分類集合,並且存放到 $categories 中
3. 然後我們透過 foreach 的迴圈,來一個一個把 $categories 的文章分類抓出來,並且放到 $postcategory 中

所以 $postcategory 代表的就是 『文章分類』並且只在   {foreach}...{/foreach} 之內有效。

Mark


主題: Re: 請問一下關於顯示分類的描述
作者: Poker Me十一月 26, 2005, 01:58:42 上午
 :-D :-D :-D :-D :-D :-D收益匪浅!真不愧是!Mark!
Thanks!