我们最近为客户做了一个易优cms的二次开发,是基于以上的判断条件进行制作。功能需求是:在“案例展示”栏目中的每个案例详情页底部,展现与该案例相关的“工程服务”项目,每个工程服务项目中还分多种工程(也就是二级分类),所以在案例底部是列表形式展示相关的工程服务。
参考语法:
{eyou:if condition='($eyou.field.has_children > 0)'} 当前栏目列表有下级栏目 {eyou:else /} 当前栏目里诶包没有下级栏目 {/eyou:if}
说明:condition=' ' //原生php语法条件判断
-------------------------------示例1--------------------------------
描述:多层次判断
{eyou:if condition='($eyou.field.has_children == 1)'} 当前栏目列表的栏目ID有1个下级栏目 {eyou:elseif condition='($eyou.field.has_children == 2)' /} 当前栏目列表的栏目ID有2个下级栏目 {eyou:else /} 当前栏目列表的栏目ID有N个下级栏目 {/eyou:if}
-------------------------------示例2--------------------------------
描述:if标签之间嵌套
{eyou:if condition='($eyou.field.has_children > 0)'} {eyou:if condition='($eyou.field.has_children == 1)'} 当前栏目列表的栏目ID有1个下级栏目 {eyou:elseif condition='($eyou.field.has_children == 2)' /} 当前栏目列表的栏目ID有2个下级栏目 {eyou:else /} 当前栏目列表的栏目ID有N个下级栏目 {/eyou:if} {/eyou:if}
实现思路:案例是文章模型,所以在文章模型中,创建内容字段标题,比如叫做“服务关联”,创建字段“jiejue”,字段类型为“多选项”。将默认的工程服务项目,一次输入到默认值中用半角逗号隔开,比如:“防水工程,防腐工程,保温工程,堵漏工程”(这四个工程,正好对应“工程服务”中的项目)。最后指定栏目“案例展示”。
在后台的案例展示中,将每个案例编辑页中,勾选相对应的工程。可以多选。然后在“案例展示”的详情页模板:view_article.htm中,需要展示相关的工程服务项目的位置,添加如下代码:
{eyou:diyfield type='checkbox' id='jiejue' name='$eyou.field.jiejue'} {$jiejue.value} {eyou:if condition='($jiejue.value=="防水工程")'} {eyou:arclist typeid='10' infolen='10' rderby='now' titlelen='10' row='6'} <li><a href=""> <a href="{$field.arcurl}"> <div class="pimg"><img src="{$field.litpic}"></div> </a> <p>{$field.title}</p> </a> </li> {/eyou:arclist} {eyou:elseif condition='($jiejue.value=="防腐工程")'} {eyou:arclist typeid='11' infolen='10' rderby='now' titlelen='10' row='6'} <li><a href=""> <a href="{$field.arcurl}"> <div class="pimg"><img src="{$field.litpic}"></div> </a> <p>{$field.title}</p> </a> </li> {/eyou:arclist} {eyou:elseif condition='($jiejue.value=="保温工程")'} {eyou:arclist typeid='12' infolen='10' rderby='now' titlelen='10' row='6'} <li><a href=""> <a href="{$field.arcurl}"> <div class="pimg"><img src="{$field.litpic}"></div> </a> <p>{$field.title}</p> </a> </li> {/eyou:arclist} {eyou:elseif condition='($jiejue.value=="堵漏工程")'} {eyou:arclist typeid='13' infolen='10' rderby='now' titlelen='10' row='6'} <li><a href=""> <a href="{$field.arcurl}"> <div class="pimg"><img src="{$field.litpic}"></div> </a> <p>{$field.title}</p> </a> </li> {/eyou:arclist} <!-- {eyou:else /} --> {/eyou:if} {/eyou:diyfield}
代码说明:新建的字段叫做jiejue,他的值分别对应不同的typeid。比如jiejue是“防水工程”,对应的防水工程栏目的typeid是10。所以经过以上的条件判断,最终实现了需要的功能。并且是支持多选的。
以上就是我们针对易优cms实现的一个小小功能。如果有快速建网站的需求,找锦技信息科技哦!