<!--{if $navigator_list.top}-->
<li id="topNav" class="clearfix">
<!-- {foreach name=nav_top_list from=$navigator_list.top item=nav} -->
<a href="{$nav.url}" <!-- {if $nav.opennew eq 1} --> target="_blank" <!-- {/if} -->>{$nav.name}</a>
<!-- {if !$smarty.foreach.nav_top_list.last} -->
|
<!-- {/if} -->
<!-- {/foreach} -->
<div class="topNavR"></div>
</li>
<!-- {/if} -->
對於smarty標籤的解釋如下:
{if $navigator_list.top} 判斷是否有頂部導航
{foreach name=nav_top_list from=$navigator_list.top item=nav} 用迴圈循環列出所有頂部導航
{$nav.url} 頂部導航連結網址
{if $nav.opennew eq 1} 是否開新視窗
{$nav.name}頂部導航名稱
{if !$smarty.foreach.nav_top_list.last} 是否為最後一個頂部導航
有{}標籤包起來的就是smarty變數,不要隨意更改,用<>包起來的是HTML標籤,可以根據自己的版面配置隨意修改,如果不小心修改了smarty標籤導致樣版解析錯誤時,就會顯示類似下列的錯誤訊息:
Warning: array_pop() [function.array-pop]: The argument should be an array in D:\AppServ\www\ec273\includes\cls_template.php on line 387
Parse error: syntax error, unexpected T_ENDFOREACH in D:\AppServ\www\ec273\includes\cls_template.php(1161) : eval()'d code on line 23
你也可以把程式碼獨立出來做為一個新樣版,如: top_nav.lbi ,然後在 library/page_header.lbi 用 {include file='library/top_nav.lbi'} 來調用,這樣 library/page_header.lbi 的程式碼就會顯得更簡潔,其他像搜尋、中間導航都可以這麼做...