易优常用标记,可以循环嵌套标签。通常用于网站导航以获取站点栏目信息。 用法:
属性: typeid=”栏目ID” loop=’10’ 返回文档列表总数(建议不要与limit属性同时存在,否则loop无效) limit=’起始ID,记录数’ (起始ID从0开始)表示限定的记录范围(如:limit=’1,2′ 表示从ID为1的记录开始,取2条记录) titlelen=’30’ 栏目名称长度 type=’son’ 表示下级栏目 type=’self’ 表示同级栏目 type=’top’ 表示顶级栏目 type=’sonself’ 表示当前下级栏目以及同级栏目 type=’first’ 表示当前栏目ID的最顶级栏目下的第一级全部栏目 currentclass=” 应用样式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’就表示栏目一的所有子栏目) 注:{$field.extends}为新窗口打开/nofollow 等设置,直接放在a标签的参数里即可 1,调用顶级栏目导航 模板调用代码 {eyou:models type=”top” loop=”8″ id=”field” currentclass=”on”} {$field.typename} {/eyou:models} 网站前端显示效果(css样式请自行填充) 2.当前栏目下子栏目调用 模板调用代码 {eyou:models loop=”6″ type =’son’ currentclass=”on”} {$field.typename} {/eyou:models} 网站前端显示效果(css样式请自行填充) 【更多示例】 ——————————-示例1——————————– 描述:输出最顶级栏目,不包括子孙栏目,可用于网站简单的顶部导航 {eyou:models type=”top” loop=”10″ currentclass=”active”} {$field.typename} {/eyou:models} ——————————-示例2——————————– 描述:输出二个层级栏目(这里用到models标签层次嵌套,注意属性id | name的用法) {eyou:models type=’top’ loop=’10’ id=’field1′ currentclass=’active’} // 第一级栏目循环开始 <li> <a href=”{$field1.typeurl}” title=”{$field1.typename}” class=”{$field1.currentclass}”> {$field1.typename} {eyou:notempty name=’$field1.children’} // 判断是否有子栏目(该示例指的是第二级栏目) 有子栏目时才显示这里的html代码,比如:箭头、图标等 {/eyou:notempty} </a> {eyou:notempty name=’$field1.children’} // 判断是否有子栏目(该示例指的是第二级栏目) <div> {eyou:models name=’$field1.children’ id=’field2′ loop=’10’} // 第二级栏目循环开始 <a href=”{$field2.typeurl}” class=”dropdown-item “>{$field2.typename}</a> {/eyou:models} // 第二级栏目循环结束 </div> {/eyou:notempty} {/eyou:models} // 第一级栏目循环结束 ——————————-示例3——————————– 描述:输出复杂的三个层级栏目(这里用到models标签层次嵌套,注意属性id | name的用法) {eyou:models type=’top’ loop=’10’ id=’field1′ currentclass=’active’} // 第一级栏目循环开始 <li> <a href=”{$field1.typeurl}” title=”{$field1.typename}” class=”{$field1.currentclass}”> {$field1.typename} {eyou:notempty name=’$field1.children’} 有子栏目时才显示这里的html代码,比如:箭头、图标等 {/eyou:notempty} </a> {eyou:notempty name=’$field1.children’} // 判断是否有子栏目(第二级栏目)start <div> {eyou:models name=’$field1.children’ id=’field2′ loop=’10’} //第二级栏目循环开始 <div> <a href=”{$field2.typeurl}” class=”dropdown-item “>{$field2.typename}</a> {eyou:notempty name=’$field2.children’} // 判断是否有子栏目(第三级栏目)start <div class=”dropdown-menu animate”> {eyou:models name=’$field2.children’ id=’field3′ loop=’10’} //第三级栏目循环开始 <a href=”{$field3.typeurl}” class=”dropdown-item “>{$field3.typename}</a> {/eyou:models} //第三级栏目循环结束 </div> {/eyou:notempty} // 判断是否有子栏目(第三级栏目)end </div> {/eyou:models} // 第二级栏目循环结束 </div> {/eyou:notempty} // 判断是否有子栏目(第二级栏目)end {/eyou:models} //第一级栏目循环结束 ——————————-示例4——————————– 描述:每隔3条输出文档记录 {eyou:models typeid=’文档ID’ loop=’10’ mod=’3′} {eyou:eq name=’mod’ value=’0′} {$field.typename} {/eyou:eq} {/eyou:models} ——————————-示例5——————————– 描述:mod属性还用于控制一定记录的换行,每3条记录换行一次 {eyou:models typeid=’文档ID’ loop=’10’ mod=’3′} {$field.typename} {eyou:eq name=’mod’ value=’0′} {/eyou:eq} {/eyou:models} ——————————-示例6——————————– 描述:输出指定起始ID的记录,过滤最前面2条,从第三条开始输出 {eyou:models typeid=’栏目ID’ type=’son’ offset=’2′} {$field.typename} {/eyou:models} ——————————-示例7——————————– 描述:内置变量输出数据索引与记录顺序,key 表示索引,默认从0开始;i 表示顺序,默认从1开始。 {eyou:models type=’top’} {$key} – {$i} {/eyou:models} 效果: 0 – 1 1 – 2 2 – 3 3 – 4 4 – 5 ——————————-示例8——————————– 描述:自定义变量名 {eyou:models type=’top’ id=’field2′} {$field2.typename} {/eyou:models} |