Dedecms导航当前位置关键词的修改

海外服务器 (686) 2015-11-28 14:35:26

在任务修改方案过程中遇到了dedecms 面包屑路径修改的SEO小技巧小细节,百度了一下,DEDE版本为V5.7,其他版本修改方法应该是差不多的。

修改面包屑导航关键词锚文本的方法:

有时我们的网站面包屑名称跟网站根本不沾边,但又想在面包屑导航加入锚文本,可以用下面的代码实现:
 

方法一:

 

<a title='关键字' href='{dede:global.cfg_basehost/}'>{dede:global.cfg_webname/}</a> > {dede:type}<a href="[field:typelink /]">[field:typename /]</a> {/dede:type}

{dede:global.cfg_basehost/}是网站地址 {dede:global.cfg_webname/}是网站名称,也可以直接用网站名称代替,使用标签是为了方便以后修改以后不用一个个的修改模版了,后面的{dede:type}[field:typename /] {/dede:type}是调用当前频道的名称和网址。

 

方法二:直接修改{dede:field name='position'/} 效果,先上一张效果图大家看看

 

Dedecms导航当前位置关键词的修改

 

如果我们想实现上图的效果,请参考我的做法。

 

Dedecms导航当前位置关键词的修改

 

首先登陆网站后台系统—站点设置

 

网页主页链接留空,主页链接名填写你自己的网站名称。

 

然后修改include目录下的typelink.class.php 推荐用editplus编辑,不要用记事本。

 

代码113行中的加上title='关键词' 注意是半角的' 不是",不然程序会出错。
 
{dede:field name='position'  runphp='yes'}

$b = array("<a href='http://http://www.zblcyy.com/'>妇科医院</a> > ","href='/");

$c = array("","href='http://http://www.zblcyy.com/");

@me=str_replace($b,$c,@me); 

{/dede:field}

把域名和网站名改成你的就行了。

 

Dedecms导航其他相关问题
 
 
一、修改{dede:field name='position'/}的文字间隔符,官方默认的是>
 
在include/typelink.class.php第101行左右将>修改为你想要的符号即可

二、去掉{dede:field name='position' /}最后的分隔符>

{dede:field name='position' runphp='yes'}

$a=mb_strlen(@me);//计算字符串的长度

@me=cn_substr(@me,$a-2,-1);//截取字符

{/dede:field}

三、{dede:field name='position'/} 中去掉 > 并去掉最后一个文本的链接的解决方案

{dede:field name='position' runphp='yes'}

    $tc=" > ";                  

    $tf=split($tc,@me);                        

    $tn=count($tf);

    for($iij=0;$iij<($tn-1);$iij++){

        if($iij==($tn-2)){$tf[$iij]=strip_tags($tf[$iij]);}

        $tl=$tl.$tf[$iij];

    }

    @me=$tl;

   echo @me;

{/dede:field}

如果还需要分隔符的话,就把$tl=$tl.$tf[$iij]; 换成

$tl=$tl."空格分隔符空格".$tf[$iij];

THE END