mark 是要你貼出出問題地方的模版,就是你的模版裡的 sidebar-l.template 裡的這一段:
<!--Top Read Posts-->
{if $topreadposts->isEnabled()}
<h3>熱門文章</h3>
<ul>
{assign var=readposts value=$topreadposts->getTopReadPosts()}
{foreach from=$readposts item=readpost}
<li><a href="{$url->postLink($readpost)}">{$readpost->getTopic()}</a> [{$readpost->getNumReads()} 次]</li>
{/foreach}
</ul>
{/if}
依我判斷,問題出在你的 topreadposts 外掛並沒有傳回任何文章( 就是 $readpost 是 null ) ,所以才會出現錯誤訊息裡那一行:
$permaLink = $this->getBaseUrl()."/post/".$this->_blogInfo->getId()."/".$post->getId();
裡面的 $post 是一個 null 而非物件,才會造成錯誤。
你可以這樣改:
<!--Top Read Posts-->
{if $topreadposts->isEnabled()}
<h3>熱門文章</h3>
<ul>
{assign var=readposts value=$topreadposts->getTopReadPosts()}
{if !empty($readposts) }
{foreach from=$readposts item=readpost}
<li><a href="{$url->postLink($readpost)}">{$readpost->getTopic()}</a> [{$readpost->getNumReads()} 次]</li>
{/foreach}
{/if}
</ul>
{/if}
應該就可以了。
提供詳細資訊,可以省很多事。不是什麼時候都有空可以看這麼仔細的。
lss