zoukankan      html  css  js  c++  java
  • channelartlist标签调用实例

    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)效果预览

  • 相关阅读:
    [国家集训队]墨墨的等式(同余最短路)
    [洛谷P2575]高手过招
    [CSP校内集训]rank
    杀人游戏(tarjan思维好题)
    骑士游戏(spfa好题)
    机房模拟测试4:计数类dp+水题+树上计数
    机房测试模拟2:模拟+数学+数位dp
    机房测试11:最小生成树(最小生成树+二分)
    机房测试模拟1(day2):矩阵+树上贪心+bfs+状压
    机房测试16:字符串专题(AC自动机+dp+kmp)
  • 原文地址:https://www.cnblogs.com/cbboys/p/3616424.html
Copyright © 2011-2022 走看看