eyoucms标签高级用法

2023-07-23 16:47:33 浏览数 (1)

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}

php

0 人点赞