dede栏目url标题优化技巧
如何做织梦dedecms标题栏目优化代码,使dede模版栏目达到标准优化
一种、大多数站长都很喜欢用dedecms来建站吧,在建站过程中可能也遇到过这样的问题,废话就不多说了,进入主题,修改前请做好备份!
第一、栏目url标准化
当我用dedecms建了分类了时候,发现在栏目是带dex.html的
修改前/abc/dex.html
修改后/abc/
打开文件clude/channelunit.func.php
大概在171行
$reurl = $typedir.'/'.$defaultname;
修改成 $reurl = $typedir.'/';
5.5版本不存在这个问题。
第二、栏目标题美化,去掉栏目斜杠
修改前顶级栏目 / 一级栏目
修改后一级栏目 - 顶级栏目
打开文件templets\default\list_.htm
将<title>{dede:field.title/} - {dede:global.cfg_webname/}</title>
修 改成<title>{dede:type}[field:typename /]{/dede:type} - {dede:field.title runphp='yes'} $ta = '1';$tb = '/';$tc = @me; $td = split($tb,$tc); @me = $td[$ta-1];{/dede:field.title} - {dede:global.cfg_webname/}</title>
此方法只适用于二层栏目,希望高手提供更好的方法
第三、文章分页标题添加序号
修改前标题、标题、标题
修改后标题、标题(2)、标题(3)
打开文件clude/arc.archives.class.php
大概在347行修改成推火网以下代码
推火网以下为引用的内容
//循环生成HTML文件
else
{
for($i=1;$i<=$this->TotalPage;$i++)
{
$tempTitle=$this->Fields['title'];//临时存储一个标题副本
if($i>1)
{
$truefilename = $this->GetTruePath().$fileFirst."_".$i.".".$this->ShortName;
$this->Fields['title'] = $this->Fields['title'].'('.$i.')';//在标题后面多加个序号 }
else
{
$truefilename = $this->GetTruePath().$filename;
}
$this->ParseDMFields($i,1);
$this->dtp->SaveTo($truefilename);
$this->Fields['title']=$tempTitle;//生成html,还原标题 }
}
第四、文章看完了不要忘记了做相关文章推荐哦
自动关连文档标签引用
推火网以下为引用的内容
<div>
<dl>
<dt><strong>关于{dede:field.title/},其他人还感兴趣的是</strong></dt>
<dd>
<ul>
dede:likearticle row='6' titlelen='42' orderby=rand}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:likearticle}
</ul>
</dd>
</dl>
</div>
这些问题相信用dedecms的站长遇到的比较多吧,希望对新手有所帮助,还有其他细节就不多说了。
二种、 我们要实现的效果是
根栏目名称 - 上级 - 顶级 -网站名称
很多人都会修改 栏目连接符 例如
根栏目名称 >>上级 >> 顶级 >>网站名称
我个人是修改成了 <li>做连接符 以求内容页使用排版
这样出来的结果就是
根栏目名称 - li -上级 -li - 顶级 -网站名称
第一步修改栏目顺序 为 从低级到高级
“子级栏目-顶级栏目-站点名称”,需要找到clude/typelk.class.php第164行
$this->valuePositionName = $tfos['typename'].$this->SplitSymbol.$this->valuePositionName;
修改为
$this->valuePositionName = $this->valuePositionName.$this->SplitSymbol.$tfos['typename'];
第二步接下来
<title>{dede:field.title/} - {dede:global.cfg_webname/}</title>
模板标题部分
然后修改连接符的问题
查看代码clude/arc.listview.class.php,找到55行
$this->Fields['title'] = ereg_replace("[<>]"," / ",$this->TypeLk->GetPositionLk(false));