主頁 > 網(wǎng)站建設 > 建站知識 > dedecms實現(xiàn)"文章標題-2級欄目-1級欄目-網(wǎng)站名"

dedecms實現(xiàn)"文章標題-2級欄目-1級欄目-網(wǎng)站名"

POST TIME:2018-04-22 22:14

EDECMS文章頁的title結構是:

“文章標題-網(wǎng)站名”

現(xiàn)在我們想改為:

“文章標題-2級欄目-1級欄目-網(wǎng)站名” 的形式。跟版網(wǎng)站以前就是如此

一種方法是:

在 /include/inc_archives_view.php 中查找 tp.typedir,然后替換成 tp.typedir,tp.typename

在文章模板中用 {dede:field name='typename' /} 調(diào)用。這樣就OK啦??梢詫崿F(xiàn)在文章頁顯示文章所屬欄目的名稱,不過,這個欄目是文章最接近的一個欄目。

Title 里用如:

{dede:field name='title'/}-{dede:field name='typename'/}-{dede:global name='cfg_webname'/}

這樣就OK了。

第二種方法更科學、更簡便:

下面用“position”來實現(xiàn)。

(A)代碼如下:

{dede:field name='title' /}-{dede:field name='position' runphp='yes'}
$tc="-"; //分隔符
$tw=$GLOBALS['cfg_list_symbol']; //調(diào)用位置分隔符
@me=html2text(@me); //去除html標簽
$tf=split($tw,@me); //分解成數(shù)組
for($ta=(count($tf)-2);$ta>=1;$ta--){ //循環(huán)賦值給$tk
$tk.=trim($tf[$ta]).$tc;
}
$tk=substr($tk,0,-1);
@me=$tk; //賦值給@me
{/dede:field}-{dede:global name='cfg_webname' /}

將以上代碼放在文章頁模板 <title></title> 之間就可以實現(xiàn)“文章標題-n級欄目-......-2級欄目-1級欄目-網(wǎng)站名”的形式了。

用這種方式,如果你某N級欄目目錄太深,導致文章標題太長成了“文章標題-100幾十級欄目-......4級欄目-3級欄目-2級欄目-1級欄目-網(wǎng)站名”這樣怎么辦?

(B)解決辦法如下:

{dede:field name='title' /}-{dede:field name='position' runphp='yes'}
$tc="-"; //分隔符
$tw=$GLOBALS['cfg_list_symbol']; //調(diào)用位置分隔符
@me=html2text(@me); //去除html標簽
$tf=split($tw,@me); //分解成數(shù)組
for($ta=(count($tf)-2);$ta>=1;$ta--){ //循環(huán)賦值給$tk
$tk.=trim($tf[$ta]).$tc;
}
$tk=substr($tk,0,-1);
$tk=str_replace("-4級欄目-3級欄目","",$tk);
@me=$tk; //賦值給@me
{/dede:field}-{dede:global name='cfg_webname' /}

增加藍色部分,把你不想要的欄目標題如上紅色的填上即可。

另:

這種方法也可以用在欄目的 title 上,把二級以下的欄目標題如“一級欄目//二級欄目”這種討厭的形式給kill掉。

用法是:

抄上面的代碼(A)到<title></title>,不要 {dede:field name='title' /}- 這一段即可。

當然這里的“-”分隔符,可以換成“|”



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266