易优cms整站模板安全吗可靠吗
易优cms如何防止网站模板被盗仿
简单说明,后续会补充详细教程。
【操作步骤】
1、先在模板目录 /template 创建相应的子目录,比如:style1
2、将要 pc 或 mobile 等模板目录文件拷贝到 style1
3、前往后台的【基本信息】-【核心设置】里的前台模板风格的下拉可以看到相关的风格目录,即可进行切换;
4、如果想做到模板文件路径避免暴露,建议将模板文件里的skin移出到根目录下;
当将skin移出模板目录之后,为了更好兼容网站在根目录和子目录的正常引用样式\js\图片等;
可以将之前的css\js模板引用标签
{eyou:static file="skin/css/app.css" /}
改为相对路径 (注意:多了一个红色斜杆)
{eyou:static file="/skin/css/app.css" /}
模板目录 /template 规则说明:
1、默认模板风格文件在 /template 目录下,比如:
2、在默认风格前提下,模板目录 /template 里存在default模板风格,那么将以default优先;
3、如果在后台指定了某个前台模板风格,那么将以指定的模板风格目录下的模板文件为主;
国内排名前五的源码交易平台
第一名:互站网 推荐星级:★★★★
官网:
互站网是国内知名的站长交易服务中心;网站交易、源码交易、域名交易、链接交易、广告买卖、建站美工任务;安全快捷的站长交易、出售、求购、交流分享平台;
成立时间早,源码类型众多,交易简便,充值方式基本满足国人的要求;
但随着近年来政策原因,导致原本十分自由活跃的互站变成了必须企业实名才可以经营下去,并且过去很多可以发布的源码或者服务都不能发布了。
最主要的不好一点,平台的限制,蕞低价30元,折让很多的买家失去了选择的权利!
第二名:CSDN博客 推荐星级:★
官网:blog.csdn.net
很多的站长都在此发表自己的作品,比较全面!具体体验不是很好,不推荐!
写出来的理由就一点,内容量大而全,随随便便搜一个问题,出来的都有他们!
只能说SEO做的比较好!源码交易的话,体验不是很好!
第三名:站长团购 推荐星级:★★
官网:
站长团购是ChinaZ站长旗下的源码交易网站,主打正版源码交易,价格较高,蕞低限价大几百;比较适合企业采购;个人站长不太适合!
第四名:中站源码网 推荐星级:★★★★
官网:
主营:PbootCMS模板,多城市分站站群源码,云优cms;另有易优cms模板、织梦cms模板、帝国cms模板等整站源码、discuz模板,wordpress模板等主题模板;
中站源码网是近年刚兴起的一个源码交易站,整体偏向于“多城市分站站群”建站业务;源码比较多,价格是几个源码交易站中蕞低的一个;适合个人站长采买;整体服务不错!值得推荐!
第五名:A5交易网 推荐星级:★★★
官网:
A5交易网主打新媒体账号的在线交易,源码交易只是其中一部分;
易优CMS:channel的基础用法
[基础用法]
名称:channel
功能:易优常用标记,可以循环嵌套标签。通常用于网站导航以获取站点栏目信息,方便网站会员分类浏览整站信息
语法:
{eyou:channel type='top' row='8' currentstyle='active'}
<li class="{$field.currentstyle}"><a href='{$field.typeurl}'>{$field.typename}</a> </li>
{/eyou:channel}
参数:
typeid='' 栏目ID,多个请用","分开
row='10' 返回文档列表总数(建议不要与limit属性同时存在,否则row无效)
limit='起始ID,记录数' (起始ID从0开始)表示限定的记录范围(如:limit='1,2' 表示从ID为1的记录开始,取2条记录)
titlelen='30' 栏目名称长度
type='son' 表示下级栏目
type='self' 表示同级栏目type='top' 表示顶级栏目type='sonself' 表示当前下级栏目以及同级栏目type='first' 表示当前栏目ID的最顶级栏目下的所有层级栏目集合currentstyle='' 应用样式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'就表示栏目一的所有子栏目)
-------------------------------效果展示--------------------------------
1,调用顶级栏目导航
模板调用代码
{eyou:channel type="top" row="8" id="field" currentstyle="on"}<li> <a class="{$field.currentstyle}" href="{$field.typeurl}">{$field.typename}</a> </li>{/eyou:channel} 网站前端显示效果(css样式请自行填充)
2.当前栏目下子栏目调用
模板调用代码
{eyou:channel row="6" type ='son' currentstyle="on"}<li class="{$field.currentstyle}"><a href="{$field.typeurl}" >{$field.typename}</a> </li>{/eyou:channel}网站前端显示效果(css样式请自行填充)
【更多示例】
-------------------------------示例1--------------------------------
描述:输出最顶级栏目,不包括子孙栏目,可用于网站简单的顶部导航
{eyou:channel type="top" row="10" currentstyle="active"}
<a href="{$field.typeurl}" title="{$field.typename}" class="{$field.currentstyle}">{$field.typename}</a>
{/eyou:channel}
-------------------------------示例2--------------------------------
描述:输出二个层级栏目(这里用到channel标签层次嵌套,注意属性id | name的用法)
{eyou:channel type='top' row='10' id='field1' currentstyle='active'} // 第一级栏目循环开始
<li>
<a href="{$field1.typeurl}" title="{$field1.typename}" class="{$field1.currentstyle}">
{$field1.typename}
{eyou:notempty name='$field1.children'} // 判断是否有子栏目(该示例指的是第二级栏目)
有子栏目时才显示这里的html代码,比如:箭头、图标等
{/eyou:notempty}
</a>
{eyou:notempty name='$field1.children'} // 判断是否有子栏目(该示例指的是第二级栏目)
<div>
{eyou:channel name='$field1.children' id='field2' row='10'} // 第二级栏目循环开始
<a href="{$field2.typeurl}" class="dropdown-item ">{$field2.typename}</a>
{/eyou:channel} // 第二级栏目循环结束
</div>
{/eyou:notempty}
</li>
{/eyou:channel} // 第一级栏目循环结束
-------------------------------示例3--------------------------------
描述:输出复杂的三个层级栏目(这里用到channel标签层次嵌套,注意属性id | name的用法)
{eyou:channel type='top' row='10' id='field1' currentstyle='active'} // 第一级栏目循环开始
<li>
<a href="{$field1.typeurl}" title="{$field1.typename}" class="{$field1.currentstyle}">
{$field1.typename}
{eyou:notempty name='$field1.children'}
有子栏目时才显示这里的html代码,比如:箭头、图标等
{/eyou:notempty}
</a>
{eyou:notempty name='$field1.children'} // 判断是否有子栏目(第二级栏目)start
<div>
{eyou:channel name='$field1.children' id='field2' row='10'} //第二级栏目循环开始
<div>
<a href="{$field2.typeurl}" class="dropdown-item ">{$field2.typename}</a>
{eyou:notempty name='$field2.children'} // 判断是否有子栏目(第三级栏目)start
<div class="dropdown-menu animate">
{eyou:channel name='$field2.children' id='field3' row='10'} //第三级栏目循环开始
<a href="{$field3.typeurl}" class="dropdown-item ">{$field3.typename}</a>
{/eyou:channel} //第三级栏目循环结束
</div>
{/eyou:notempty} // 判断是否有子栏目(第三级栏目)end
</div>
{/eyou:channel} // 第二级栏目循环结束
</div>
{/eyou:notempty} // 判断是否有子栏目(第二级栏目)end
</li>
{/eyou:channel} //第一级栏目循环结束
-------------------------------示例4--------------------------------
描述:每隔3条输出文档记录
{eyou:channel typeid='文档ID' row='10' mod='3'}
{eyou:eq name='mod' value='0'}
<a href='{$field.typeurl}'>{$field.typename}</a>
{/eyou:eq}
{/eyou:channel}
-------------------------------示例5--------------------------------
描述:mod属性还用于控制一定记录的换行,每3条记录换行一次
{eyou:channel typeid='文档ID' row='10' mod='3'}
<a href='{$field.typeurl}'>{$field.typename}</a>
{eyou:eq name='mod' value='0'}
<br/>
{/eyou:eq}
{/eyou:channel}
-------------------------------示例6--------------------------------
描述:输出指定起始ID的记录,过滤最前面2条,从第三条开始输出
{eyou:channel typeid='栏目ID' type='son' offset='2'}
<a href='{$field.typeurl}'>{$field.typename}</a>
{/eyou:channel}
-------------------------------示例7--------------------------------
描述:内置变量输出数据索引与记录顺序,key 表示索引,默认从0开始;i 表示顺序,默认从1开始。
{eyou:channel type='top'}
{$key} - {$i}
{/eyou:channel}
效果:
0 - 1
1 - 2
2 - 3
3 - 4
4 - 5
-------------------------------示例8--------------------------------
描述:自定义变量名
{eyou:channel type='top' id='field2'}
<a href='{$field2.typeurl}'>{$field2.typename}</a>
{/eyou:channel}
文章来源: