前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >eyoucms标签高级用法

eyoucms标签高级用法

原创
作者头像
IT工作者
发布2023-07-23 16:47:33
9361
发布2023-07-23 16:47:33
举报
文章被收录于专栏:程序技术知识程序技术知识

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> &nbsp; &nbsp; &nbsp;

<a {eyou:diyurl type='SalesUrl' class='ey_active' /}>销量</a> &nbsp; &nbsp; &nbsp;

<a {eyou:diyurl type='PriceUrl' class='ey_active' /}>价格</a> &nbsp; &nbsp; &nbsp;

<a {eyou:diyurl type='NewUrl' class='ey_active' /}>新品</a> &nbsp; &nbsp; &nbsp;

<a {eyou:diyurl type='AppraiseUrl' class='ey_active' /}>评价</a> &nbsp; &nbsp; &nbsp;

<a {eyou:diyurl type='CollectionUrl' class='ey_active' /}>收藏</a> &nbsp; &nbsp; &nbsp;

<a {eyou:diyurl type='ClickUrl' class='ey_active' /}>点击量</a> &nbsp; &nbsp; &nbsp;

<a {eyou:diyurl type='DownloadUrl' class='ey_active' /}>下载量</a> &nbsp; &nbsp; &nbsp;


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}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com