1、易优自动加1的函数标签
{$i}从1开始
从2开始{$i 1}
{$key}从0开始
2、当前目录
{$eyou.field.dirname}
父目录
{$eyou.field.pdirname}
模型标识
{$eyou.field.nid}
文章id
{$eyou.field.aid}
文章地址:
{$eyou.field.pageurl}
3、用户笔名调用
{eyou:memberinfos mid='$eyou.field.users_id' id='users'}
{$users.nickname}
{$users.hidden}
{/eyou:memberinfos}
4、关于新加模型增加字段判断是否为空的写法
新增字段 aa 首先在列表里定义下为添加的字段,然后在判断
{arclist addfields='aa'}
{eyou:notempty name="$field.aa"}
不为空,显示内容
{/eyou:notempty}
{/arclist}
或者在字段前加上eyou 也表示定义
{eyou:if condition="($eyou.field.aa != '')"}
显示结果
{/eyou:if}
5、判断字段为空显示不同的内容的几种方法
方法1
{eyou:empty name='$eyou.global.web_attr_21' /}
字段内容为空显示的内容
{eyou:else /}
{eyou:global name='web_attr_21' /}
{/eyou:empty}
方法2
{eyou:eq name='$field.is_litpic' value='1'}
<!-- 有缩略图 -->
{eyou:else /}
<!-- 无缩略图 end -->
{/eyou:eq}
6、判断奇数偶数不同的样式,适合一些前端样式左右布局不一样的情况
{eyou:if condition="$i%2 =='0'"}
偶数行的样式
{eyou:else /}
奇数行的样式
{/eyou:if}
另外的用法
{eyou:if condition="$i =='4'"}
{eyou:else /}
<div class="line"></div>
{/eyou:if}
当id等于4或者调用的顺序等4的的时候不显示 竖线 否则显示
适合一些特殊样式,比如栏目加竖线 百度 | 新浪 | 搜狐 | 云创年华网络
7、数据类型是开关型,如何做判断,通过后台设置该字段是否显示
后台新增开关字段(字段名:xuanmoban)
{eyou:eq name='$eyou.field.xuanmoban' value='1'}
显示
{eyou:else /}
不显示
{/eyou:eq}
8、文章列表下的描述判断无描述内容时显示自定义内容
无截取字节判断(无描述内容时显示自定义内容)。(暂无介绍…)就是自定义内容
{$field.seo_description|default='暂无介绍…'}
截取30字节判断(无描述内容时显示自定义内容)。30属于自定义截取字节(可以自定义填写,数值在0-150之间)(暂无介绍…)就是自定义内容
{$field.seo_description|html_msubstr=###,0,30,true|default='暂无介绍…'}
9、判断有无子栏目
判断有无子栏目(全局)
{eyou:notempty name='$eyou.field.has_children' /}
<!-- 有子栏目时显示的内容 -->
{eyou:else /}
<!-- 没有子栏目时显示的内容 -->
{/eyou:notempty}
10、arclist循环中,判断如果是第一个li,则添加固定的css,否则不加,适合部分前端列表 第一个需要添加特别的突出的样式,比如加红色,加个hot,置顶等情况
{eyou:arclist titlelen='20' row='30' '}
<li {eyou:eq name='$i' value='1'} class="pl"{/eyou:eq} >
<a href="{$field.arcurl}" title="{$field.title}" ><img src="{$field.litpic}" alt="{$field.title}" width="215" height="161" /></a>
<a href="{$field.arcurl}" title="{$field.title}" class="protitle"><span>{$field.title}</span></a>
<li>
{/eyou:arclist}
11、导航菜单判断是否有子栏目,有则显示否则隐藏(二级菜单调用),适合导航栏目二级或者三级栏目添加特殊样式
{eyou:channel type="top" row="10" id="field" currentstyle="active"}
<li class="yiji"> <a href="{$field.typeurl}" title="{$field.typename}" class="{$field.currentstyle}">{$field.typename}</a>
{eyou:notempty name="$field.children"}
<div class="erji">
{eyou:channel name="$field.children" row="100" id="field2"}
<a href="{$field2.typeurl}" class="dropdown-item ">{$field2.typename}</a>
{/eyou:channel}
</div>
{/eyou:notempty}
</li>
{/eyou:channel}
12、list 判断 每隔2次输出内容,适合列表一行末尾换行时候有特殊样式时方便判断调用
{eyou:list pagesize='12' titlelen='20' row='30' mod='2'}
{eyou:eq name='$mod' value='0'}<p class="pl"></p>{/eyou:eq}
{/eyou:list }
mod代表循环,mod='2'即为每隔两条输出一次,{eyou:eq name='$mod' value='0'}此为输出内容{/eyou:eq}
13、前台页面设置固定内容如何判断是否登录呢?,比如设置登录前显示市场价,登录后显示会员价。
比如:没有登录显示一个内容,登录以后显示一个内容。
{eyou:user type='login' txt='会员中心'}
<a href="{$field.url}" id="{$field.id}">登录</a>
{$field.hidden}
{/eyou:user}
未登陆显示登陆
登陆后显示会员中心
14、多语言情况下判断是否隐藏
{eyou:language type='default'}
<a href="{$field.url}"><img src="{$field.logo}" alt="{$field.title}">{$field.title}</a>
{/eyou:language}
不包括当前的语言
{eyou:language type='list'}
<a href="{$field.url}"><img src="{$field.logo}" alt="{$field.title}">{$field.title}</a>
{/eyou:language}
罗列出所有的语言
多语言情况下,想要判断主语言显示,其他语言隐藏的时候。如何调用呢?
下面标签就是判断主语言显示,其他语言隐藏:
{eq name='$Think.cookie.home_lang' value='cn'}
<p>内容</p>
{/eq}
如果判断主语言隐藏,其他语言显示,那就用下面的标签:
{neq name='$Think.cookie.home_lang' value='cn'}
<p>内容</p>
{/neq}
15、判断会员是否登录并显示不同的内容
{eyou:if condition='intval($Think.session.users_id) > 0'}
如果是会员登录了显示的内容
{eyou:else /}
不是注册会员的显示内容
{/eyou:if}
下面这个是判断会员级别的调用代码
{eyou:if condition='intval($Think.session.users.level_value) == 100'}
是高级会员显示
{eyou:else /}
不是高级会员显示
{/eyou:if}
100 是后台的会员级别管理的会员等级值
16、产品价格标签调用如何只要整数,不要小数点后面的00
{$field.users_price|intval=###}
17、几个不常见的隐藏标签
{$eyou.field.typename} 当前栏目
{$eyou.field.dirpename} 目录名称
{$eyou.field.pageurl} 文章地址
上级栏目链接标签 {$eyou.field.ptypeurl}
上级栏目名称标签 {$eyou.field.ptypename}
顶级栏目名称“{$eyou.field.typeid|gettoptype=###,'typename'}”
顶级栏目链接“{$eyou.field.typeid|gettoptype=###,'typeurl'}”
顶级栏目名称“{$eyou.field.typeid|gettoptype=###,'englist_name'}”
{eyou:global name='web_templets_m' /}---手机路径
{eyou:global name='web_templets_pc' /}---电脑路径
{neq name='$i' value='$__LIST__|count=###'}|{/neq}---最后一个不显示
{eq name='$i' value='$__LIST__|count=###'}|{/eq}---最后一个显示
{eyou:eq name='$i' value='1'} 输出值{/eyou:eq}---第一个li,则添加固定的css
{eyou:downcount /}下载次数
{$field.downcount} 栏目及主页下载次数
{eyou:arcclick /} 文档页浏览次数
{$field.click } 栏目及主页浏览次数
{$eyou.field.author} 文档页作者
{$field.author} 栏目及首页作者
{$field.total} 标签文档数量
{$field.count} 标签文档点击量
{$eyou.field.typeid|GetTotalArc=###}或者{$eyou.field.typeid|GetTotalArc(当前栏目ID)=###}统计栏目文章数
18、搜索结果页让关键词高亮飘红
{eyou:list titlelen='40' pagesize='8'}
{eyou:php}
$field['new_title'] = str_replace($eyou['field']['keywords'], '<span style="color: #ff0000;">' . $eyou['field']['keywords'] . '</span>', $field['title']);
{/eyou:php}
<li>
<a href="{$field.arcurl}" title="{$field.title}">{$field.new_title}</a>
</li>
{/eyou:list}
19、获取到移动端域名的连接的标签写法
{eyou:global name='web_mobile_domain' /}.{$Request.rootDomain}__ROOT_DIR__
html写法:<a href="https://{eyou:global name='web_mobile_domain' /}.{$Request.rootDomain}__ROOT_DIR__">手机访问</a>
{eyou:global name='web_mobile_domain' /}.{$Request.rootDomain}__ROOT_DIR__ 说明:
{eyou:global name='web_mobile_domain' /} 为域名二级名称 当然你也可以换成自定义标签 比如:
{eyou:global name='web_attr_2' /}.{$Request.rootDomain}__ROOT_DIR__
.{$Request.rootDomain}__ROOT_DIR__ 代表域名不带.www 头的 只有 eyoucms.com 这样的格式
20、大部分浏览器隐藏video视频播放器下载按钮功能
打开你的视频内容页的模板文件,找到播放器代码 video,参考下图在video元素里加上两个属性。
代码如下:
controlslist='nodownload' oncontextmenu='return false'
代码说明:
controlslist='nodownload' 禁止下载
oncontextmenu='return false' 禁止右击
禁止画中画:后面补充
21、栏目链接怎么实现外链情况下为新窗口打开?
在a标签里面增加
{eyou:eq name='$field.typelink'/}{eyou:else /}target="_blank"{/eyou:eq}
或者
{eyou:eq name='$field.is_jump' value='1'}target="_blank"{/eyou:eq}
22、获取栏目类型ID标签
{$field.channeltype}
获取栏目类型ID可以用于判断搜索页面显示不同类型内容
23、如何判断顶级栏目,如果有下级就不带链接,没有下级就带链接!
{eyou:channel type="top" row="60" id="field" currentstyle="background:#0976dc"}
{eyou:notempty name="$field.children"}
<li class="menu"><a href="javacript:void(0);" style="{$field.currentstyle}">{$field.typename}</a>
<ul class="sub">
{eyou:channel name="$field.children" row="100" id="field1"}
<li><a href="{$field1.typeurl}">{$field1.typename}</a> </li>
{/eyou:channel}
</ul>
<span></span> </li>
{eyou:else /}
<li><a href="{$field.typeurl}" style="{$field.currentstyle}">{$field.typename}</a></li>
{/eyou:notempty}
{/eyou:channel}
24、标签字符串替换
{$eyou.field.content|str_replace='/uploads/allimg/','http://www.eyhtml.com/uploads/allimg/',###}
25、orderby="rand" 不起作用
修改成:orderby="rand()" 即可.
26、判断推荐文章 并给以特别的样式 比如 new hot 标题加粗 换个颜色等
{eyou:eq name='$field.is_recom' value='1'}
单独样式
{else /}
默认样式
{/eyou:eq}
其他的,可以类似写法
推荐:is_recom
特荐:is_special
头条:is_head
27、栏目高亮标签,顶级和其他栏目分别高亮
{eyou:channel type="first" currentstyle="active"}
{eyou:eq name='$eyou.field.grade' value='2'}
{eyou:type typeid='$eyou.field.typeid' id='field1'}
{eyou:eq name='$field1.parent_id' value='$field.id'}
{eyou:assign name='$field.currentstyle' value='active' /}
{/eyou:eq}
{/eyou:type}
{/eyou:eq}
{$field.typename}
{/eyou:channel}
28、判断列表文档数量,比如第一篇文档或者任意一篇文档给以不同的样式
{eyou:list pagesize='20' titlelen='40'}
{eyou:eq name='$i' value='1'}
特殊样式
{else /}
默认样式
{/eyou:eq}
{/eyou:list}
红字1 表示第一篇文档
29、调用三级栏目菜单
{eyou:channelartlist typeid='$eyou.field.typeid|gettoptype=###,typeid'}{eyou:field name='typename' /}{/eyou:channelartlist}
{eyou:channel type="first" currentstyle="active"}
{eyou:eq name='$eyou.field.grade' value='2'}
{eyou:type typeid='$eyou.field.typeid' id='field1'}
{eyou:eq name='$field1.parent_id' value='$field.id'}
{eyou:assign name='$field.currentstyle' value='current' /}
{/eyou:eq}
{/eyou:type}
{/eyou:eq}
{$field.typename}
{eyou:notempty name="$field.children"}
{eyou:channel name="$field.children" id="field2"}
{$field2.typename}{$field2.typeid}
{/eyou:channel}
{/eyou:notempty}
{/eyou:channel}
注意field后面数字的用法
30、如何修改page里上一页下一页等文字?
找到/application/lang/cn.php 这个目录下的cn.php文件
31、判断是否首页或者当前选中页面
{eyou:eq name='$Request.param.m' value='Index'}
<img src="{eyou:global name='web_cmspath' /}/style/m/skin/images/index2.png">首页
{eyou:else/}
<img src="{eyou:global name='web_cmspath' /}/style/m/skin/images/index.png">首页
{/eyou:eq}
{eyou:if condition='($eyou.field.typeid == "1")'}
<img src="{eyou:global name='web_cmspath' /}/style/m/skin/images/index-ke2.png">课程
{eyou:else/}
<img src="{eyou:global name='web_cmspath' /}/style/m/skin/images/index-ke.png">课程
{/eyou:if}
32、判断字段显示内容,例如认证是金领,则添加金色图标,蓝领则添加蓝色等图标等。 $field.vrenzheng 是自定义字段名称
{eyou:if condition='$field.vrenzheng == 金领'}
用金色的图标
{eyou:elseif condition='$field.vrenzheng == 蓝领'}
用蓝色的图标
{eyou:elseif condition='$field.vrenzheng == 白领'}
用白色的图标
{eyou:else /}
灰色图标
{/eyou:if}
33、内置变量输出数据索引与记录顺序,key 表示索引,默认从0开始;i 表示顺序,默认从1开始。
34、广告管理。包括其他标签的选中状态设置
比如设置第2条记录标记选中状态
{eyou:adv pid='1' row='5' currentstyle='active'}
<a href='{$field.arcurl}' {eyou:eq name='$i' value='2'} class="{$field.currentstyle}" {/eyou:eq}>{$field.title}</a>
{/eyou:adv}
35、
描述:没有记录时输出文案提示,属性empty支持直接传入html语法(html里只支持双引号,禁止单引号)
{eyou:adv pid='1' row='3' empty='暂时没有数据'}
<a href='{$field.arcurl}'>{$field.title}</a>
{/eyou:adv}
36、几个不常见的 标签引用用法
描述:导入外部的css样式文件
{eyou:load file='/static/js/style.css' /}
-------------------------------示例2--------------------------------
描述:导入外部的远程css样式文件
{eyou:load href='http://www.eyoucms.com/skin/css/index.css' /}
-------------------------------示例3--------------------------------
描述:同时加载多个资源文件
{eyou:load file='/static/js/common.js,/static/css/style.css' /}
-------------------------------示例4--------------------------------
描述:还提供了两个标签别名 js 、css、import 用法和 load 一致
{eyou:js file='/static/js/common.js' /}
{eyou:css file='/static/js/style.css' /}
{eyou:import file='/static/php/test.php' /}
37、字段数量截取
{$field.typename|html_msubstr=###,0,10,true} 富文本截取,过滤html代码 true表示自带省略号,false不带省略号
{$field.typename|text_msubstr=###,0,10,true} 纯文本截取
获取栏目顶级名称 —— gettoptype(当前栏目ID,字段名) 统计栏目文章数 —— GetTotalArc(当前栏目ID),示例:{$eyou.field.typeid|GetTotalArc=###}
38、SQL标签
-------------------------------示例1--------------------------------
描述:查询数据表ey_arctype,指定栏目ID的基本信息,不使用数据缓存(这里数据表前缀 e_ 替换为 __PREFIX__)
{eyou:sql sql='SELECT id,typename,dirname,litpic FROM __PREFIX__arctype WHERE id = 2' cachetime='-1'}
{$field.typename}
{/eyou:sql}
-------------------------------示例2--------------------------------
描述:内置变量输出数据索引与记录顺序,key 表示索引,默认从0开始;i 表示顺序,默认从1开始。
{eyou:sql sql='SELECT id,typename,dirname,litpic FROM __PREFIX__arctype WHERE id = 2' cachetime='-1'}
{$key} - {$i}
{/eyou:sql}
效果:
0 - 1
1 - 2
2 - 3
3 - 4
4 - 5
-------------------------------示例3--------------------------------
描述:自定义变量名
{eyou:sql sql='SELECT id,typename,dirname,litpic FROM __PREFIX__arctype WHERE id = 2' cachetime='-1' id='field2'}
{$field2.typename}
{/eyou:sql}
39、不常用标签
描述:从1开始,每循环一次自增3,直到21结束
{eyou:for start='1' step='3' end='21'}
{$i}
{/eyou:for}
效果:
1
4
7
10
13
16
19
描述:在内容页调用属性列表【自动类型】
{eyou:attribute type='auto'}
{$attr.name}:{$attr.value}
{/eyou:attribute}
40、几个链接的用法
{eyou:diyurl type='login'} 会员登录链接
{eyou:diyurl type='reg'} 会员注册链接
{eyou:diyurl type='sindex'} 搜索主页链接
{eyou:diyurl type='tags'}" tag主页链接
41、mod的用法
描述:每隔3条输出文档记录
{eyou:list pagesize='10' mod='3'}
{eyou:eq name='mod' value='0'}
<a href='{$field.arcurl}'>{$field.title}</a>
{/eyou:eq}
{/eyou:list}
描述:mod属性还用于控制一定记录的换行,每3条记录换行一次
{eyou:list pagesize='10' mod='3'}
<a href='{$field.arcurl}'>{$field.title}</a>
{eyou:eq name='mod' value='0'}
<br/>
{/eyou:eq}
{/eyou:list}
描述:列表显示阅读权限的会员等级值和会员等级名称
{eyou:list typeid='文档ID' limit='0,10' id='field'}
会员等级名称:{$field.level_name} 会员等级值:{$field.level_value}
{/eyou:list}
42、列表页排序
[基础用法]
名称:diyurl
功能:列表页、搜索页排序
语法: Tag标签主页URL:{eyou:diyurl type='tags' /} 登录URL:{eyou:diyurl type='login' /} 注册URL:{eyou:diyurl type='reg' /} 搜索主页URL:{eyou:diyurl type='sindex' /} 以下是列表的排序功能
<a {eyou:diyurl type='DefaultUrl' class='ey_active' /}>默认</a>
<a {eyou:diyurl type='SalesUrl' class='ey_active' /}>销量</a>
<a {eyou:diyurl type='PriceUrl' class='ey_active' /}>价格</a>
<a {eyou:diyurl type='NewUrl' class='ey_active' /}>新品</a>
<a {eyou:diyurl type='AppraiseUrl' class='ey_active' /}>评价</a>
<a {eyou:diyurl type='CollectionUrl' class='ey_active' /}>收藏</a>
<a {eyou:diyurl type='ClickUrl' class='ey_active' /}>点击量</a>
<a {eyou:diyurl type='DownloadUrl' class='ey_active' /}>下载量</a>
参数:
type='' 使用排序则固定值为以上8个,排序效果对应中文 class='' 按自身需要自行定义,无限制
底层字段:
请查阅易优cms官方提供的数据字典,找到表名 ey_archives
-------------------------------效果展示--------------------------------
模板调用标准代码
<style type="text/css">
.ey_active {color: red}
</style>
<a {eyou:diyurl type='DefaultUrl' class='ey_active' /}>默认</a>
<a {eyou:diyurl type='SalesUrl' class='ey_active' /}>销量</a>
<a {eyou:diyurl type='PriceUrl' class='ey_active' /}>价格</a>
<a {eyou:diyurl type='NewUrl' class='ey_active' /}>新品</a>
<a {eyou:diyurl type='AppraiseUrl' class='ey_active' /}>评价</a>
<a {eyou:diyurl type='CollectionUrl' class='ey_active' /}>收藏</a>
<a {eyou:diyurl type='ClickUrl' class='ey_active' /}>点击量</a>
<a {eyou:diyurl type='DownloadUrl' class='ey_active' /}>下载量</a>
43、{eyou:downcount /} 文档下载次数
{eyou:arcclick /} 文章点击次数
————————————————————————————————————————————————
44、友情链接加 | 间隔。
一般如果你直接在标题后添加 | ,那么最后一个也会被添加 | 就很不美观。所以判断是最后一个的时候不添加。
或者直接在标题前加 |,同时判断第一个不添加。代码如下:
{eyou:eq name='$i' value='1'}{eyou:else /}|{/eyou:eq}
————————————————————————————————————————————————
45、幻灯图片数量标签
{$__LIST__|count=###}
名称:assign
功能:模板文件中定义变量,可在其他标签里使用该变量
语法:
{eyou:assign name='typeid' value='5' /}
文件:
无
参数:
name='' 变量名
value='' 赋给变量名的值
底层字段:
无
【更多示例】
-------------------------------示例1--------------------------------
描述:在运行模板的时候,赋值了一个 typeid 的变量,值是 5
{eyou:assign name='typeid' value='5' /}
-------------------------------示例2--------------------------------
描述:在多个标签里使用事先声明的自定义变量,如下例,typeid='5' 则下面的变量均可引用
{eyou:assign name='typeid' value='5' /}
{eyou:type typeid='$typeid'}
<a href="{$field.typeurl}">{$field.typename}</a>
{/eyou:type}
{eyou:channel typeid='$typeid' type='self'}
<a href="{$field.typeurl}">{$field.typename}</a>
{/eyou:channel}