zoukankan      html  css  js  c++  java
  • dedecms三级目录

    dedeCMS织梦系统的目录展开,都只能到第一级和第二级栏目,但其实调用到第三级目录是很常见的。比如你在一个大的主题目录下,想要显示某个子栏目的分栏,这其实就已经是第三级目录了。

    如下图所示:

     
    image.png

    而这个对织梦系统来讲并不支持,如下所示:

    {dede:channelArtlist typeid ='1'}
    <h3>
        <a href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}">
            <!-- 一级栏目名称 -->
            {dede:field name='typename'/}
        </a>
    </h3>
        
    <ul>
        {dede:channel type='son' noself='yes'}
        <li>
            <a href="[field:typelink/]" title="[field:typename/]">
                <!-- 二级栏目名称 -->
                [field:typename/]
            </a>
    
            <!-- 无法做arclist第三级栏目展开 -->
            
        </li>
    
        {/dede:channel}
    </ul>
    {/dede:channelArtlist}
    

    修改织梦系统文件

    为了能够让织梦系统具备第三级目录的展开需要修改系dede的系统文件include aglibchannel.lib.php注意,在修改前请一定记得先备份一次原文件。因为一旦修改错误,会导致织梦系统无法正常运行

    找到( v5.7是122行左右)下面这一行代码:

    if ($col>1) $likeType .= "<dd>
    ";
    

    在其前面添加如下代码:

    $typeid = $row['id'];
    if ( class_exists('PartView') ) {
        $pv = new PartView($typeid);
        $text = $likeType;
        $text = str_replace(array('{field', '/}'), array('[field', '/]'),  $text);
        $pv->SetTemplet($text, 'string');
        $artlist = $pv->GetResult();
        $likeType = $artlist;
    }
    

    最后变成:

    // Appended part
    $typeid = $row['id'];
    if ( class_exists('PartView') ) {
        $pv = new PartView($typeid);
        $text = $likeType;
        $text = str_replace(array('{field', '/}'), array('[field', '/]'),  $text);
        $pv->SetTemplet($text, 'string');
        $artlist = $pv->GetResult();
        $likeType = $artlist;
    }
    
    // Original part
    if ($col>1) $likeType .= "<dd>
    ";
    

    如何在模板中使用

    再来就是如何在模板文件中使用了。承接上面的例子,可以扩展为:

    {dede:channelArtlist typeid ='1'}
    <h3>
        <a href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}">
            <!-- 一级栏目名称 -->
            {dede:field name='typename'/}
        </a>
    </h3>
        
    <ul>
        {dede:channel type='son' noself='yes'}
        <li>
            <a href="[field:typelink/]" title="[field:typename/]">
                <!-- 二级栏目名称 -->
                [field:typename/]
            </a>
    
            <ul>
                {dede:arclist titlelen='100' orderby ='pubdate' row='8'}
                <li>
                    <a href="{field:arcurl /}" title=" {field:title/}" >
                        <!-- 第三级栏目名称 -->
                        {field:title/}
                    </a>
                </li>
                {/dede:arclist}
            </ul>
        </li>
        {/dede:channel}
    </ul>
    {/dede:channelArtlist}
    

    这就成功解决了第三级目录展开的情况。

     
     

  • 相关阅读:
    区块链系统时钟同步(NTP时间同步服务器)
    解读GPS卫星同步时钟(NTP网络时间服务器)技术方案
    qsort的cmp函数理解
    IEEE浮点数标准
    看图认识CSS
    Liunx模拟网络延时
    0-4Python2升级3、CentOS-Vim-Golang环境配置
    怎么用Windws远程桌面(mstsc)远程连接服务端的Ubuntu或者CentOS?|内网穿透|服务器安装CentOS
    [Windows]进程无响应且无法在任务管理器关闭
    [python] 批量更改不同文件夹里同名文件夹名字并移动到一起
  • 原文地址:https://www.cnblogs.com/shixiuxian/p/12896348.html
Copyright © 2011-2022 走看看