织梦dedecms如何获取当前栏目路径和名称

92模板   2020-11-07   收藏本文

我们在使用DEDECMS源码制作网站的时候,经常会遇到需要调用现在栏目的顶级栏目名称的需求,织梦有默认的标签实现获取当前栏目上一级栏目的名称,不是获得当前栏目的名称。那么织梦dedecms如何获取当前栏目路径和名称呢,今天就来分享织梦获取栏目名称的方法。

织梦网站源码

我们在使用DEDECMS源码制作网站的时候,经常会遇到需要调用现在栏目的顶级栏目名称的需求,织梦有默认的标签实现获取当前栏目上一级栏目的名称,不是获得当前栏目的名称。那么织梦dedecms如何获取当前栏目路径和名称呢,今天就来分享织梦获取栏目名称的方法。

标签如下:

当前:

{dede:type}

<a href=" [field:typelink  /] "> [field:typename/] </a>

{/dede:type}

因为{dede:field  name='arcurl'/} 这个获取当前页面路径的标签只能在内容页使用,栏目页没有效果的。所以在栏目页想获取当前栏目的路径及名称的话,就要用上面这个标签。 

而获取网站所有栏目名称及路径列表的话,就要用到另一个标签: {dede:channel},调用方式如下:

所有栏目

<ul>

{dede:channel  type='top' row='11'}

<li class="navbg"><a  href='[field:typelink/]'>[field:typename/]</a></li>

{/dede:channel}

</ul>

织梦dedeCMS网站栏目页获取当前栏目的顶级栏目名称的标签教程,

下面拓展出一个方法来实现这个效果: 

在include/common.func.php的最下方加入: 

顶级栏目名

function GetTopTypename($id)

{

    global $dsql;

     $row = $dsql->GetOne("SELECT typename,topid FROM jiemou_arctype WHERE id=  $id");

    if ($row['topid'] == '0')

    {

        return  $row['typename'];

    }

    else

    {

        $row1 =  $dsql->GetOne("SELECT typename FROM jiemou_arctype WHERE id=  $row[topid]");

        return $row1['typename'];

    }

}

在文章页或者栏目列表页调用时,在所要调用栏目名称的位置加上下面这行代码即可实现。

{dede:field name='typeid' function="GetTopTypename(@me)" /}

在文章页中用下面这个方法来调用 

获取当前栏目的父栏目

写成一个函数放入include/extend.func.php文件中

function GetParentCategoryNameByID($CurrentID){

$tsql = new DedeSql(false); 

$typelink2 = '';

$tsql->SetQuery("Select i.typedir,i.typename From zz5unet_arctype t left join zz5unet_arctype i on i.id=t.reid where t.id='$CurrentID'");

$tsql->Execute('t');   

while($row = $tsql->GetArray('t',MYSQL_ASSOC))  

{

$typelink2 .= $row['typename'];  

}

return $typelink2;

}

调用方法:

{dede:field name='id' function='GetParentCategoryNameByID(@me)' /}

以上就是关于dedecms栏目名称的所有内容,希望可以帮到大家,欢迎扫码加微信一起交流~

微信公众号

展开