首页 > CMS > 织梦DEDE > 正文

关于修改织梦面包屑导航样式!去掉所有大于号">"

2024-07-12 08:42:30
字体:
来源:转载
供稿:网友

先说:include/typelink.class.php第101行

今天心血来潮想去掉织梦面包屑标签{dede:field name='position'/}中的分隔符“>”百度一下找了N长时间,得到的都是去掉最后一个大于号的方法.

说实话百度真没找到我想要的东西,之后试了搜狗 谷歌,谷歌亮了,找到了去掉面包屑中大于号的方法.

我承认是我小白了,为了大家都不小白我决定还是分享这次我的小白经历.

解决办法非常简单:

修改首页>一级栏目>二级栏目中的“>”符号,比如不要了,或者是换成“>>”什么的,其实很简单,在 后台就可以设置,进入系统---系统基本参数--核心设置--栏目位置的间隔符号,可以输入你喜欢的符号,**#%@#¥什么都可以.

之前都是说include/typelink.class.php第101行,晕菜我哪知道101行里是什么东西,下面是关于织梦面包屑{dede:field name='position'/}一些实用技巧,分享给大家.

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

  1. {dede:field name='position' runphp='yes'
  2.  
  3. $a=mb_strlen(@me);//计算字符串的长度 
  4.  
  5. @me=cn_substr(@me,$a-2,-1);//截取字符 
  6. //开源软件:Vevb.com 
  7. {/dede:field} 

或者,可直接修改include/typelink.class.php这个文件,第132行.

return $this->valuePosition.$this->SplitSymbol;

修改为:return $this->valuePosition;

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

  1. {dede:field name='position' runphp='yes'
  2.  
  3.     $tc=" > ";                   
  4.  
  5.     $tf=split($tc,@me);                         
  6.  
  7.     $tn=count($tf); 
  8.  
  9.     for($iij=0;$iij<($tn-1);$iij++){ 
  10.  
  11.  
  12.  
  13.         if($iij==($tn-2)){$tf[$iij]=strip_tags($tf[$iij]);} 
  14.  
  15.         $tl=$tl.$tf[$iij]; 
  16.  
  17.     } 
  18.  
  19.     @me=$tl
  20.  
  21.    echo @me; 
  22.  
  23. {/dede:field} 

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

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

备注:第二种办法是去掉了最后一个>,但链接还是显示的,大部分在栏目页时都不显示当前栏目链接,栏目页就这样调用了,满足了.

内容页就用笨办法,在后面加上“正文”两字.

dedecms中修改当前位置{dede:field.position},就是只要首页一级栏目二级栏目这样,找到include/typelink.class.php,找到这个文件里的这个函数function GetPositionLink($islink=true),dedecms就是在这里判断是否读取链接,如果把true修改成falsh,这个dedecms中修改当前位置{dede:field.position},就是只要首页>一级栏目>二级栏目这样.

找到include/typelink.class.php,找到这个文件里的这个函数function GetPositionLink($islink=true),dedecms就是在这里判断是否读取链接,如果把true修改成falsh,这个函数就不执行了:

  1. function GetOneTypeLink($typeinfos
  2.  $typepage = $this->GetOneTypeUrl($typeinfos); 
  3.  $typelink = "".$typeinfos['typename'].""
  4.  return $typelink

它返回的是$typelink,而$typelink是有链接的,把$typelink = "".$typeinfos['typename']."";修改成  $typelink = "".$typeinfos['typename']."";链接就去掉了,而且可以写成自己想要的格式,很方便.

另外,有不少朋友想要修改首页>一级栏目>二级栏目中的“>”符号,比如不要了,或者是换成“>>”什么的,其实很简单,在 后台就可以设置,进入系统---系统基本参数--核心设置--栏目位置的间隔符号,可以输入你喜欢的符号,**#%@#¥什么都可以,呵呵.

dedecms里修改,比如去掉超链接只保留文字什么的。

今天用dedecms做网站的时候就遇到了上次说的二级栏目,就是点击导航就直接进入第一个子栏目。可是,我们知道,{dede:field name='position'/}读取出来的可是这样的形式啊广州人才网 > 新闻资讯也就是说,如果我们有栏目页的话,点击“新闻资讯”就会进入栏目页面,但是现在没栏目页,那就乱啦~

是的,可是我们又不可用把这个“当前位置”去掉,怎么办呢?对,就是只读出来文字,不要链接.

这时候又需要修改dedecms本身的代码了,我们之所以可以用这些标签,就是dedecms本身写好的,这些写好的代码不能满足我们,所以我们要改,这里要修改的文件是:

include/arc.partview.class.php

include/arc.archives.class.php

include/arc.listview.class.php

三个文件里面都有这样一句话:Fields['position'] = $this->TypeLink->GetPositionLink(true);把他们都改成Fields['position'] = $this->TypeLink->GetPositionLink(false);明白了吧?改成falsh就是不读取链接了,虽然我们不知道dedecms在什么地方判断了是否读取链接,但是我们只要知道修改了这里就可以只读文字,这也就够了!需要深入研究或有兴趣或有时间的话,当然也可以深究一下~

删除当前位置里的超链接?

只保留文字如:主 页 > 企业简介 > 组织结构

修改方法一:

文件/include/arc.archives.class.php

文件/include/arc.listview.class.php

文件/include/arc.partview.class.php

把三个文件里面的这句:Fields['position'] = $this->TypeLink->GetPositionLink(true);

都改成:Fields['position'] = $this->TypeLink->GetPositionLink(false);

修改方法二:

{dede:field name='position' function="strip_tags(@me)"/}

或者{dede:field name='position' function="html2txt(@me)"/}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表