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' /}- 這一段即可。
當然這里的“-”分隔符,可以換成“|”