DEDE实现“文章标题-栏目名称-网站名”
第1种:
在/include/inc_archives_view.php文件中。 查找tp.typedir,然后替换成tp.typedir,tp.typename。 最后在文章模板中用{dede:field name='typename'/}调出来。这样就OK啦。。
第2种:
就“{dede:field name='title'/}-{dede:field name='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.title function='ereg_replace(" - "," - ",@me)'/} - {dede:global.cfg_webname/}</title> 即可。
如果您对栏目中间的连接符不满意,可以修改include/arc.listview.class.php,找到53行 $this->Fields['title'] = ereg_replace("[<>]"," / ",$this->TypeLink->GetPositionLink(false));
把 / 删除 注意留一个空格 " " 这样在模板标题标签部分就可以修改各级栏目间的连接符 [视音频技术]电信座机(电话机)设置黑名单的方法(拦截骚扰电… [C语言系列]C#中webBrowser控件屏蔽脚本错误提示方法 [办公软件]设置Word2003文档密码方法详解 [电脑应用]WordPress使用wp-postviews统计文章浏览次数(点击… [Web开发]dede 调用自定义字段方法详解 [C语言系列]C#中combobox 控件属性、事件、方法(部分常用) [Web开发]PHP判断文件是否存在的方法 [Web开发]php使用$_GET获取信息为空时使其不报错的方法 [Web开发]ASP生成Word文档的方法 [Web开发]用asp生成word文档打印的方法
|