先說: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)"/}
新聞熱點
疑難解答