易優CMS:channel的基礎用法

[基礎用法]
名稱:channel
功能:易優經常使用標記,能夠循環嵌套標籤。一般用於網站導航以獲取站點欄目信息,方便網站會員分類瀏覽整站信息
語法
{eyou:channel type='top' row='8' currentstyle='active'}
<li class="{$field.currentstyle}"><a href='{$field.typeurl}'>{$field.typename}</a> </li>
{/eyou:channel}
參數
typeid='' 欄目ID,多個請用","分開
row='10' 返回文檔列表總數(建議不要與limit屬性同時存在,不然row無效)
limit='起始ID,記錄數' (起始ID從0開始)表示限定的記錄範圍(如:limit='1,2' 表示從ID爲1的記錄開始,取2條記錄)
titlelen='30' 欄目名稱長度
type='son' 表示下級欄目
  • type='self' 表示同級欄目
  • type='top' 表示頂級欄目
  • type='sonself' 表示當前下級欄目以及同級欄目
  • type='first' 表示當前欄目ID的最頂級欄目下的全部層級欄目集合
currentstyle='' 應用樣式class類名
offset=‘0’ 記錄的起始ID,默認從0開始,假如指定2,將過濾最前面的2條,從第三條顯示
name='' 數組類型的變量名(三級導航時纔用到)
empty='' 沒有數據時顯示的文案
mod='' 每隔N行輸出的內容
id='' 能夠任意指定循環裏的變量名替代field,假設id='field1',模板調用如:{$field.title} 變成 {$field1.title}
底層字段:
請查閱易優Cms官方提供的數據字典,找到表名 ey_arctype
(注:在沒有指定typeid的狀況下,type標記與模板的環境有關,如:模板生成到欄目一,那麼type='son'就表示欄目一的全部子欄目)
 

-------------------------------效果展現--------------------------------
1,調用頂級欄目導航
模板調用代碼
{eyou:channel type="top" row="8" id="field" currentstyle="on"}
<li> <a class="{$field.currentstyle}" href="{$field.typeurl}">{$field.typename}</a> </li>
{/eyou:channel}
網站前端顯示效果(css樣式請自行填充)
 

2.當前欄目下子欄目調用
模板調用代碼
{eyou:channel row="6" type ='son' currentstyle="on"}
<li class="{$field.currentstyle}"><a href="{$field.typeurl}" >{$field.typename}</a> </li>
{/eyou:channel}
網站前端顯示效果(css樣式請自行填充)
【更多示例】
-------------------------------示例1--------------------------------
描述:輸出最頂級欄目,不包括子孫欄目,可用於網站簡單的頂部導航
{eyou:channel type="top" row="10" currentstyle="active"}
<a href="{$field.typeurl}" title="{$field.typename}" class="{$field.currentstyle}">{$field.typename}</a>
{/eyou:channel}
-------------------------------示例2--------------------------------
描述:輸出二個層級欄目(這裏用到channel標籤層次嵌套,注意屬性id | name的用法)
{eyou:channel type='top' row='10' id='field1' currentstyle='active'} // 第一級欄目循環開始
<li>
<a href="{$field1.typeurl}" title="{$field1.typename}" class="{$field1.currentstyle}">
{$field1.typename}
{eyou:notempty name='$field1.children'} // 判斷是否有子欄目(該示例指的是第二級欄目)
有子欄目時才顯示這裏的html代碼,好比:箭頭、圖標等
{/eyou:notempty}
</a>
{eyou:notempty name='$field1.children'} // 判斷是否有子欄目(該示例指的是第二級欄目)
<div>
{eyou:channel name='$field1.children' id='field2' row='10'} // 第二級欄目循環開始
<a href="{$field2.typeurl}" class="dropdown-item ">{$field2.typename}</a>
{/eyou:channel} // 第二級欄目循環結束
</div>
{/eyou:notempty}
</li>
{/eyou:channel} // 第一級欄目循環結束
-------------------------------示例3--------------------------------
描述:輸出複雜的三個層級欄目(這裏用到channel標籤層次嵌套,注意屬性id | name的用法)
{eyou:channel type='top' row='10' id='field1' currentstyle='active'} // 第一級欄目循環開始
<li>
<a href="{$field1.typeurl}" title="{$field1.typename}" class="{$field1.currentstyle}">
{$field1.typename}
{eyou:notempty name='$field1.children'}
有子欄目時才顯示這裏的html代碼,好比:箭頭、圖標等
{/eyou:notempty}
</a>
{eyou:notempty name='$field1.children'} // 判斷是否有子欄目(第二級欄目)start
<div>
{eyou:channel name='$field1.children' id='field2' row='10'} //第二級欄目循環開始
<div>
<a href="{$field2.typeurl}" class="dropdown-item ">{$field2.typename}</a>
{eyou:notempty name='$field2.children'} // 判斷是否有子欄目(第三級欄目)start
<div class="dropdown-menu animate">
{eyou:channel name='$field2.children' id='field3' row='10'} //第三級欄目循環開始
<a href="{$field3.typeurl}" class="dropdown-item ">{$field3.typename}</a>
{/eyou:channel} //第三級欄目循環結束
</div>
{/eyou:notempty} // 判斷是否有子欄目(第三級欄目)end
</div>
{/eyou:channel} // 第二級欄目循環結束
</div>
{/eyou:notempty} // 判斷是否有子欄目(第二級欄目)end
</li>
{/eyou:channel} //第一級欄目循環結束
更多案例:https://www.eyoucms.com/plus/list.php?tid=66
文章來源:https://www.eyoucms.com/zanzanEY/
相關文章
相關標籤/搜索