dedecms怎么实现文章标题-栏目名称-网站名导航

发布时间:2019-10-18编辑:脚本学堂
本文介绍了在dedecms中,实现文章标题-栏目名称-网站名 导航的方法,有需要的朋友参考下。

dedecms中实现“文章标题-栏目名称-网站名”导航的方法。

第一种:
在/include/inc_archives_view.php文件中。
查找tp.typedir,然后替换成tp.typedir,tp.typename。
最后在文章模板中用{dede:field name=’typename’/}调出来。

第二种:
“{dede:field name=’title’/}-{dede:field name=’typename’/}-{dede:global name=’cfg_webname’/}”即可。

第三种:
本来想修改inc_archives_view.php来实现,
后来发现用“position”更简便。
代码如下:
 

复制代码 代码示例:
{dede:field name=’title’/}-{dede:field name=’position’ runphp=’yes’}
$tc=”-”; //分隔符
$tw=$globals['cfg_list_symbol']; //调用位置分隔符
@me=html2text(@me); //去除html标签
$tf=split($tw,@me); //分解成数组
for($ta=(count($tf)-2);$ta>=1;$ta–){ //循环赋值给$tk
$tk.=trim($tf[$ta]).$tc;
}
$tk=substr($tk,0,-1);
@me=$tk; //赋值给@me
{/dede:field}-{dede:global name=’cfg_webname’/}

将以上代码放在<title></title>之间,即可实现“文章标题-2级栏目-1级栏目-网站名”的形式了另外:文章页里显示栏目的方法

文章页里没有单独的标签用于显示栏目名称,也不能用{dede:filed name=’****’ /}这种形式,因为在archives表及其附加表中没有栏目名称这个字段。
那么,如何在文章页显示栏目名称呢?可以用有附加函数的标签。
那么,首先需要自己编写一个函数,用来处理标签里的内容。
 

复制代码 代码示例:
function my_getcname($typeid){
$dsql = new dedesql(false);
$row = $dsql->getone(”select typename from xkzzz_arctype where id=$typeid; “);
return $row['typename'];
}

将这个函数加到 网站目录includeinc_functions.php 这个文件中。

在文章页模版中需要引用栏目标题的地方加入这个标签。
 

复制代码 代码示例:
{dede:field name=’typeid’ function=’my_getcname(@me)’/}