DEDECMS是一款非常灵活的内容管理系统(CMS),尽管在使用过程中可能会遇到各种问题,但如果配置得当,它仍然可以成为一套完美的解决方案。最近,博主经常被问到关于栏目标题中斜杠的处理问题,例如如何去掉栏目标题中的斜杠,或者直接隐藏一级栏目名称。今天,张显辉个人博客将针对这些问题进行总结和整理,希望能为大家提供帮助。
目标是将标题格式改为:“二级栏目_网站名称”,这样在列表页调用 {dede:field name='typename'/} 时,只会显示二级栏目的名称,而不会包含斜杠或一级栏目的文字。
以下方法已在DEDECMS 5.7版本中测试可用:
1. 修改官方默认的排列方式:
打开文件 include/typelink.class.php,找到第164行:
$this->valuePositionName = $tinfos['typename'].$this->SplitSymbol.$this->valuePositionName;
将其修改为:
$this->SplitSymbol.$tinfos['typename'];
通过以上修改,可以去掉前面的一级栏目部分。
如果需要进一步调整标题格式,还可以参考以下方法:
2. 修改模板中的标题标签:
原代码:
<title>{dede:field.title/} – {dede:global.cfg_webname/}</title>
修改为:
<title>{dede:field.title function='ereg_replace(" – "," – ",@me)'/} – {dede:global.cfg_webname/}</title>
完成上述修改后即可实现所需效果。
如果您对栏目间的连接符不满意,可以尝试以下方法:
3. 修改栏目间的连接符:
打开文件 include/arc.listview.class.php,找到第53行:
$this->Fields['title'] = ereg_replace("[<>]"," / ",$this->TypeLink->GetPositionLink(false));
将其中的“/”删除,并保留一个空格 " "。
这样可以在模板标题标签部分自定义各级栏目间的连接符。
最后,为了优化文章栏目的SEO效果,可以在模板中将标题标签替换为 {dede:field.seotitle /}。
* 注意:如果行号不准确,请使用Ctrl+F查找相关代码,以避免修改错误。
希望这些方法能帮助您更好地管理和优化DEDECMS站点!