易优CMS:channel的基础用法

易优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}

文章来源:

如何将dedecms转Eyoucms程序呢?告别织梦商业授权烦恼小白教程

最近因DEDECMS版权收费问题?相信有好多企业站长都会放弃或都转移程序内核;也让很多小微建站公司得以生存。随着移动互联网的发展,现在从搜索引擎获取流量的机会越来越少。

织梦CMS是一款使用非常广泛的内容管理系统,很多SEO人员学习SEO技术都是从织梦CMS开始搭建网站的。织梦CMS标签丰富,后台功能强大,可以做博客、企业网站、资讯站、医疗网站。

现在织梦官方也催促大家在10月25号之前把商业授权完成,不然织梦公司将进行民事索赔的权利;而对小微企业5800元的授权费也蛮高的。 简单的一页纸就让许多站长头疼。

所以现在有织梦程序的站长也陆续的转移程序后台, 现在市场上有好多以thinkphp框架搭建的CMS系统,也有大家喜欢用的WordPress、Z-Blog这两款博客程序;今天教大家如何如何将dedecms转Eyoucms程序吧。

易优CMS虽然是收费的,但授权费用也不高。有基础188元与专业版588元两个套餐,但企业站长开通一个188元的商业授权套餐也可以了,那么如何将织梦程序转Eyoucms程序呢?

在易优CMS官网有一个织梦CMS转换易优CMS插件,这个我们会在后面讲到;

备注:;备份好自己的网站文件与数据库内容;【注意事项】

必须是易优CMS的新网站。支持utf-8编码的织梦CMS网站。已经存在有效内容的易优CMS网站请绕道。新网站必须安装在与织梦网站同一台虚拟空间(服务器),共用一个数据库名,数据库表前缀不能与织梦网站相同。

假如你的织梦CMS网站的数据库名是:dedecmsV57,下面我们开始进行数据转换。

1、提前打开织梦CMS的数据库配置文件 data/common.inc.php

2、首先在网站所在服务器(虚拟主机)建一个文件夹,命名为eyou,将易优CMS的程序包上传到这个文件夹中,然后浏览器输入:域名/eyou进行安装,填写数据库信息,就填和织梦网站数据库一样的信息,这样两套程序就建立了联系。

3、然后域名/eyou/login.php进入易优后台,插件应用有一个织梦CMS内容迁移的插件,这个插件是免费的,专门开发用于迁移织梦网站的。按照步骤操作就行了,一直到织梦网站数据完全转移至易优CMS。

4、将根目录下uploads(原织梦CMS图片存储文件夹)移动到eyou的目录下,访问域名/eyou/,看看网站的基本情况。

5、数据基本上是没问题,如果没有问题了可以将以前织梦的程序删除,将eyou的程序放在网站根目录下面就可以。对于模板想要以前就要去eyou官网查看相关标签, 不过官方也有EYOUCMS标签生成器, 如果不想用原来的就去官方网站购买模板切换就可以了。

最后不要忘记了购买一个商业授权哦,有商业授权证书就不怕eyou官网查,安心的运营网站;不过转换了程序原来的排名也会有影响哦。

eyoucms 伪静态规则配置方法汇总

易优cms伪静态规则配置方法汇总

如果是百度空间,请移步这里:《百度云空间教你去除URL中index.php的方法》
如果是宝塔环境,请移步这里:《宝塔环境教你去除URL中index.php的方法》

针对不同服务器、虚拟空间,运行PHP的环境也有所不同,目前主要分为:Nginx、apache、IIS以及其他服务器。下面分享如何去掉URL上的index.php字符,记得在管理后台清除缓存,对于一些ECS服务器可能要重启nginx等服务!

【IIS服务器】

可以移步,《iis怎么去掉index.php》

【Nginx服务器】

在原有的nginx重写文件里新增以下代码片段:

location / {

if (!-e $request_filename) {

rewrite ^(.*)$ /index.php?s=/$1 last;

break;

}

}


如果是安装在二级目录下,请复制以下代码:
location /二级目录名/ { if (!-e $request_filename) { rewrite ^/二级目录名/(.*)$ /二级目录名/index.php?s=/$1 last; break; }}


如果类似阿里云空间,一个虚拟主机的根目录与二级目录都安装了易优,那么设置如下:

location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; }}
location /二级目录名/ { if (!-e $request_filename) { rewrite ^/二级目录名/(.*)$ /二级目录名/index.php?s=/$1 last; break; }}
【apache服务器】
易优cms在apache服务器环境默认自动隐藏index.php入口。
如果发现没隐藏,可以检查根目录.htaccess是否含有以下红色代码段:

<IfModule mod_rewrite.c>

Options +FollowSymlinks -Multiviews

RewriteEngine on

#http跳转到https
#RewriteCond %{HTTPS} !=on
#RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R,L]

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]

</IfModule>

如果还是没有隐藏,可以尝试把红色第四行的代码改为加上个问号试试: RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
或者修改为:RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

如果还是不行,继续查看apache是否开启了URL重写模块 rewrite_module , 然后重启服务就行了。