Xoops是使用Smarty樣板引擎,雖然有些判斷在php端就能處理,但是像系統佈景區塊之類的還是用Smarty的code來處理會比較方便,不用再另外寫一堆PHP程式,這裡分享一個在Smarty->foreach 迴圈抓出第一圈跟最後一圈的方法,使用first及last參數即可。
例如像下圖,需要抓出迴圈的第一圈跟最後一圈然後定義CSS做樣式樣的變化!
方法如下
<{foreach item=blockmenulayers from=$block.category name=blockmenulayers}>
<div class=' <{if $smarty.foreach.blockmenulayers.first eq true}>firstbox<{/if}>
例如像下圖,需要抓出迴圈的第一圈跟最後一圈然後定義CSS做樣式樣的變化!
方法如下
<{foreach item=blockmenulayers from=$block.category name=blockmenulayers}>
<div class=' <{if $smarty.foreach.blockmenulayers.first eq true}>firstbox<{/if}>
<{if $smarty.foreach.blockmenulayers.last eq true}>lastbox<{/if}> panel-titlebox'>
內容內容內容內容內容............
</div>
<{/foreach}>
說明:
<{if $smarty.foreach.blockmenulayers.first eq true}>firstbox<{/if}>
//如果是第一圈first值為true顯示firstbox
<{if $smarty.foreach.blockmenulayers.last eq true}>lastbox<{/if}>
//如果是最後一圈last值為true顯示lastbox
所以class隨迴圈顯示的值就會是!
第一圈->firstbox
最後一圈->lastbox
扣除第一圈跟最後一圈->panel-titlebox
這樣就有三種css樣式可以定義了,讓版面更靈活美觀!!
有需要的朋友參考看看
工作心得撰寫:徐嘉裕 Neil hsu
內容內容內容內容內容............
</div>
<{/foreach}>
說明:
<{if $smarty.foreach.blockmenulayers.first eq true}>firstbox<{/if}>
//如果是第一圈first值為true顯示firstbox
<{if $smarty.foreach.blockmenulayers.last eq true}>lastbox<{/if}>
//如果是最後一圈last值為true顯示lastbox
所以class隨迴圈顯示的值就會是!
第一圈->firstbox
最後一圈->lastbox
扣除第一圈跟最後一圈->panel-titlebox
這樣就有三種css樣式可以定義了,讓版面更靈活美觀!!
有需要的朋友參考看看
工作心得撰寫:徐嘉裕 Neil hsu
留言
張貼留言