当前位置: 主页 > 建站相关技术 > 其他 >

DECMS实现“文章标题-栏目名称-网站名”实现方法

时间:2017-05-07 18:20来源:猎取网 发布者:猎取啦
第1种:
在/include/inc_archives_view.php文件中。
查找tp.typedir,然后替换成tp.typedir,tp.typename。
最后在文章模板中用{dede:field name='typename'/}调出来。这样就OK啦。。
第2种:
就“{dede:field name='title'/}-{dede:fieldname='typename'/}-{dede:global name='cfg_webname'/}”这样就可以显示啦。

第3种:(推荐)
本来想修改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:field name='position' runphp='yes'}
$tw=$GLOBALS['cfg_list_symbol']; //调用位置分隔符
@me=html2text(@me); //去除html标签
$tf=split($tw,@me); //分解成数组
@me=trim($tf[count($tf)-2]);//得到一级栏目名称
{/dede:field}
第4种:
   用这个办法,可以实现"三级栏目_二级栏目_一级栏目_网站名称",即优化,对搜索收录有好处.
1.将官方原来的排列方式反过来,找到include/typelink.class.php第164行
$this->valuePositionName =$tinfos['typename'].$this->SplitSymbol.$this->valuePositionName;
修改为:
$this->valuePositionName =$this->valuePositionName.$this->SplitSymbol.$tinfos['typename'];
接下来将模板的标题标签
<title>{dede:field.title/} -{dede:global.cfg_webname/}</title>
修改为:
<title>{dede:field.titlefunction='ereg_replace(" - "," - ",@me)'/} -{dede:global.cfg_webname/}</title>
即可。
如果您对栏目中间的连接符不满意,可以修改include/arc.listview.class.php,找到53行
$this->Fields['title'] =ereg_replace("[<>]"," /",$this->TypeLink->GetPositionLink(false));
把 / 删除 注意留一个空格 " "
这样在模板标题标签部分就可以修改各级栏目间的连接符
顶一下
(3)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
 
评价:
用户名: 验证码: 点击我更换图片
猎取网 网 上 找 资 源 就 上 猎 取 网
点击次数: