- 作者:admin
- 发表时间:2019-04-02 20:46
- 来源:未知
{dede:channel type='top' row='11'}
<li class="navbg"><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
</ul>
dede织梦如何获取栏目名称及当前栏目路径的教程:
当我们在使用织梦做一些网站的时候,时常可能会碰到,需要调用当前栏目的顶级栏目名称的时候,而织梦默认{dede:field name='typename' /} 标签是可以获取到,当前栏目页上一级栏目的名称,而不是当前栏目顶级的栏目名称。
而我们可以用另一个方法来实现这个效果、:
在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)' /}