[基礎用法]
名稱: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} //第一級欄目循環結束
-------------------------------示例4--------------------------------
描述:每隔3條輸出文檔記錄
{eyou:channel typeid='文檔ID' row='10' mod='3'}
{eyou:eq name='mod' value='0'}
<a href='{$field.typeurl}'>{$field.typename}</a>
{/eyou:eq}
{/eyou:channel}
-------------------------------示例5--------------------------------
描述:mod屬性還用于控制一定記錄的換行,每3條記錄換行一次
{eyou:channel typeid='文檔ID' row='10' mod='3'}
<a href='{$field.typeurl}'>{$field.typename}</a>
{eyou:eq name='mod' value='0'}
<br/>
{/eyou:eq}
{/eyou:channel}
-------------------------------示例6--------------------------------
描述:輸出指定起始ID的記錄,過濾最前面2條,從第三條開始輸出
{eyou:channel typeid='欄目ID' type='son' offset='2'}
<a href='{$field.typeurl}'>{$field.typename}</a>
{/eyou:channel}
-------------------------------示例7--------------------------------
描述:內置變量輸出數據索引與記錄順序,key 表示索引,默認從0開始;i 表示順序,默認從1開始。
{eyou:channel type='top'}
{$key} - {$i}
{/eyou:channel}
效果:
0 - 1
1 - 2
2 - 3
3 - 4
4 - 5
-------------------------------示例8--------------------------------
描述:自定義變量名
{eyou:channel type='top' id='field2'}
<a href='{$field2.typeurl}'>{$field2.typename}</a>
{/eyou:channel}
本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶參考了本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.junxiaosheng.cn/10936.html