先说:include/typelink.class.php第101行
今天心血来潮想去掉织梦面包屑标签{dede:field name='position'/}中的分隔符“>”百度一下找了N长时间,得到的都是去掉最后一个大于号的方法.
说实话百度真没找到我想要的东西,之后试了搜狗 谷歌,谷歌亮了,找到了去掉面包屑中大于号的方法.
我承认是我小白了,为了大家都不小白我决定还是分享这次我的小白经历.
解决办法非常简单:
修改首页>一级栏目>二级栏目中的“>”符号,比如不要了,或者是换成“>>”什么的,其实很简单,在 后台就可以设置,进入系统---系统基本参数--核心设置--栏目位置的间隔符号,可以输入你喜欢的符号,**#%@#¥什么都可以.
之前都是说include/typelink.class.php第101行,晕菜我哪知道101行里是什么东西,下面是关于织梦面包屑{dede:field name='position'/}一些实用技巧,分享给大家.
去掉{dede:field name='position' /}最后的分隔符>
- {dede:field name='position' runphp='yes'}
- $a=mb_strlen(@me);//计算字符串的长度
- @me=cn_substr(@me,$a-2,-1);//截取字符
- //开源软件:Vevb.com
- {/dede:field}
或者,可直接修改include/typelink.class.php这个文件,第132行.
return $this->valuePosition.$this->SplitSymbol;
修改为:return $this->valuePosition;
{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];
备注:第二种办法是去掉了最后一个>,但链接还是显示的,大部分在栏目页时都不显示当前栏目链接,栏目页就这样调用了,满足了.
内容页就用笨办法,在后面加上“正文”两字.
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,这个函数就不执行了:
- function GetOneTypeLink($typeinfos)
- {
- $typepage = $this->GetOneTypeUrl($typeinfos);
- $typelink = "".$typeinfos['typename']."";
- 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)"/}
新闻热点
疑难解答