channelartlist标签调用实例
2014-03-21 17:51
417 查看
channelartlist标签,大家都知道在DedeCMS的系统中,我们可以用这个标签进行循环子栏目及其栏目的文档数据,这也是DedeCMS系统中,唯一一个支持标签嵌套的调用标签,以DedeV5.6新版举例,他的基本调用方法为:
<div class="listbox">
{dede:channelartlist}
<dl class="tbox">
<dt><strong><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></strong><span class="more"><a href="{dede:field name='typeurl'/}">更多...</a></span></dt>
<dd>
<ul class="d1 ico3">
{dede:arclist titlelen='60' row='8'}
<li><span>[field:pubdate function="MyDate('m-d',@me)"/]</span><a href="[field:arcurl /]">[field:title /]</a></li>
{/dede:arclist}
</ul>
</dd>
</dl>
{/dede:channelartlist}
</div>
以上标签来源于DedeCMS V5.6 默认首页模板
至于该标签的具体含义这里不再一一熬述,我们重点讲解在列表页/内容页的具体使用;
1)参数简介
channelartlist标签暂时支持三个参数,分别为:
typeid='0' 限制上级栏目ID;也可以用top,支持“,”表示多个栏目
row='20' 循环的栏目数量,默认为20;
cacheid = '' 标签缓存ID,一般为空
很多人,经常将上诉标签支持复制到终极栏目页或内容页,很遗憾的是不会出现任何调用结果。因为这里大家可能受到了官方帮助文档不足所带来的遗憾,因
为在这个标签中,当typeid为空,那么则表示当前栏目,但是终极栏目列表和内容页是没有下级栏目的,所以这里就会出错!
2)调用实例
在终极列表页或内容页,正确的调用方法应该是以下的:
<div class="listbox">
{dede:channelartlist typeid='top'}
<dl class="tbox">
<dt><strong><a
href="{dede:field name='typeurl'/}">{dede:field
name='typename'/}</a></strong><span class="more"><a
href="{dede:field
name='typeurl'/}">更多...</a></span></dt>
<dd>
<ul class="d1 ico3">
{dede:arclist titlelen='60' row='8'}
<li><span>[field:pubdate
function="MyDate('m-d',@me)"/]</span><a href="[field:arcurl
/]">[field:title /]</a></li>
{/dede:arclist}
</ul>
</dd>
</dl>
{/dede:channelartlist}
</div>
这里是typied='top',这个top值可以换为你想要的上级栏目ID,但绝对是不可以为空的。这个大家一定要注意!
3)栏目高亮
从上面的代码中,大家可以看到,是可以直接分别用{dede:field name='typename'/}与{dede:field name='typeurl'/}来表示栏目名称与栏目链接的,当然还有一些其它特殊的变量,这里不防给大家贴出来:
{dede:field name='id'/}与{dede:field name='typeid'/} 均表示循环中的栏目ID;
{dede:global name='itemindex'} 表示循环递增变量,从1开始;
{dede:global name='itemparity'} 表示循环魔法变量,单数为1,双数为2;
以上就是可以在channelartlist中直接套用的,特别要注意的是第2个与第三个;拥有这两个变量,可以轻松制作出各类非常个性的效果,例
如栏目的隔行变色等;关于这个栏目高亮,在channelartlist.lib.php虽然系统并没有自带,但我们可以自行制作,让当前栏目进行高亮。
制作方法:
打开channelartlist.lib.php文件,找到如下代码:
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
在其下一行加入一下代码:
//当前栏目高亮
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){
$pv->Fields['currentstyle'] = ' id="pic_focus"';
}
else{
$pv->Fields['currentstyle'] = '';
}
//当前栏目高亮
然后,就可以在模板中进行使用{dede:field name='currentstyle'/}进行调用了。
4)效果预览
<div class="listbox">
{dede:channelartlist}
<dl class="tbox">
<dt><strong><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></strong><span class="more"><a href="{dede:field name='typeurl'/}">更多...</a></span></dt>
<dd>
<ul class="d1 ico3">
{dede:arclist titlelen='60' row='8'}
<li><span>[field:pubdate function="MyDate('m-d',@me)"/]</span><a href="[field:arcurl /]">[field:title /]</a></li>
{/dede:arclist}
</ul>
</dd>
</dl>
{/dede:channelartlist}
</div>
以上标签来源于DedeCMS V5.6 默认首页模板
至于该标签的具体含义这里不再一一熬述,我们重点讲解在列表页/内容页的具体使用;
1)参数简介
channelartlist标签暂时支持三个参数,分别为:
typeid='0' 限制上级栏目ID;也可以用top,支持“,”表示多个栏目
row='20' 循环的栏目数量,默认为20;
cacheid = '' 标签缓存ID,一般为空
很多人,经常将上诉标签支持复制到终极栏目页或内容页,很遗憾的是不会出现任何调用结果。因为这里大家可能受到了官方帮助文档不足所带来的遗憾,因
为在这个标签中,当typeid为空,那么则表示当前栏目,但是终极栏目列表和内容页是没有下级栏目的,所以这里就会出错!
2)调用实例
在终极列表页或内容页,正确的调用方法应该是以下的:
<div class="listbox">
{dede:channelartlist typeid='top'}
<dl class="tbox">
<dt><strong><a
href="{dede:field name='typeurl'/}">{dede:field
name='typename'/}</a></strong><span class="more"><a
href="{dede:field
name='typeurl'/}">更多...</a></span></dt>
<dd>
<ul class="d1 ico3">
{dede:arclist titlelen='60' row='8'}
<li><span>[field:pubdate
function="MyDate('m-d',@me)"/]</span><a href="[field:arcurl
/]">[field:title /]</a></li>
{/dede:arclist}
</ul>
</dd>
</dl>
{/dede:channelartlist}
</div>
这里是typied='top',这个top值可以换为你想要的上级栏目ID,但绝对是不可以为空的。这个大家一定要注意!
3)栏目高亮
从上面的代码中,大家可以看到,是可以直接分别用{dede:field name='typename'/}与{dede:field name='typeurl'/}来表示栏目名称与栏目链接的,当然还有一些其它特殊的变量,这里不防给大家贴出来:
{dede:field name='id'/}与{dede:field name='typeid'/} 均表示循环中的栏目ID;
{dede:global name='itemindex'} 表示循环递增变量,从1开始;
{dede:global name='itemparity'} 表示循环魔法变量,单数为1,双数为2;
以上就是可以在channelartlist中直接套用的,特别要注意的是第2个与第三个;拥有这两个变量,可以轻松制作出各类非常个性的效果,例
如栏目的隔行变色等;关于这个栏目高亮,在channelartlist.lib.php虽然系统并没有自带,但我们可以自行制作,让当前栏目进行高亮。
制作方法:
打开channelartlist.lib.php文件,找到如下代码:
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
在其下一行加入一下代码:
//当前栏目高亮
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){
$pv->Fields['currentstyle'] = ' id="pic_focus"';
}
else{
$pv->Fields['currentstyle'] = '';
}
//当前栏目高亮
然后,就可以在模板中进行使用{dede:field name='currentstyle'/}进行调用了。
4)效果预览
相关文章推荐
- dede频道标签channel和频道内容标签channelartlist的调用栏目名的不同方式,如果错误使用标签会发生错误
- channelartlist标签不能调用外部链接栏目的解决办法
- 织梦dede:channelartlist 标签在列表页没法调用软件下载地址softlinks
- 仿站技巧二十三-织梦(dedecms)搜索页面怎么调用arclist、channelartlist标签?
- dede使用channelartlist在列表页和内容页调用同级栏目的方法
- dede让channelartlist标签支持currentstyle属性 完美解决
- DEDECMS首页频道channelartlist标签通过typeid属性排序方法
- dede:channelartlist和dede:channel调用栏目外部链接时用新窗口target="_blank"
- 织梦CMS让channelartlist标签支持currentstyle【转】
- 根据栏目ID调用子栏目列表(dede:channelArtlist)
- dede让channelartlist标签支持currentstyle属性 完美解决
- dede搜索结果页支持article、sql、channelartlist 等标签
- dede让channelartlist标签支持currentstyle属性 完美解决
- dede让channelartlist标签支持currentstyle属性 完美解决
- 解决织梦标签artlist不能调用副栏目的问题?
- dedecms二级栏目分类 使用channelartlist标签实现当前栏目高亮
- dedecms使用channelartlist标签循环输出有二级栏目的导航时,显示一级栏目的当前样式?
- dede让channelartlist标签支持currentstyle属性
- DEDE的搜索页面支持arclist和channelartlist标签的操作方法
- dede的{channelartlist}标签中的判断语句