当前位置:首页 > 行业动态 > 正文

如何获取Dedecms当前栏目的路径和名称?

在织梦DedeCMS中,获取当前栏目路径及栏目名称可以使用以下方法:,,1. 获取当前栏目路径: {dede:field name='typedir'/},2. 获取当前栏目名称: {dede:field name='typename'/},,这些标签可以直接在模板文件中使用。

在织梦(dedecms)内容管理系统中,获取当前栏目路径及栏目名称是一个常见的需求,以下是一些方法来实现这一功能:

1、使用标签获取当前页面路径页中,可以使用{dede:field name='arcurl'/}标签来获取当前页面的路径,这个标签在栏目页上是无效的。

2、获取网站所有栏目名称及路径列表:要获取网站所有栏目的名称和路径列表,可以使用{dede:channel}标签,调用方式如下:

<ul>
{dede:channel type='top' row='11'}
<li class="navbg"><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
</ul>

这段代码会生成一个包含所有顶级栏目名称和对应链接的无序列表。

3、获取当前栏目的顶级栏目名称:如果需要获取当前栏目的顶级栏目名称,可以在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)" /}

这将返回当前栏目的顶级栏目名称。

4、获取当前栏目的父栏目:如果需要获取当前栏目的父栏目名称,可以在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)' /}

这将返回当前栏目的父栏目名称。

FAQs

1、页获取当前页面的路径?

在内容页中,可以使用{dede:field name='arcurl'/}标签来获取当前页面的路径,但请注意,这个标签在栏目页上是无效的。

2、如何获取网站所有栏目的名称和路径列表?

要获取网站所有栏目的名称和路径列表,可以使用{dede:channel}标签,调用方式如下:

     <ul>
     {dede:channel type='top' row='11'}
     <li class="navbg"><a href='[field:typelink/]'>[field:typename/]</a></li>
     {/dede:channel}
     </ul>

这段代码会生成一个包含所有顶级栏目名称和对应链接的无序列表。

0