phpcms v9 單頁面調用seo META Title和seo META Keywords,因為單頁面是默認調用seo META Description的,所以現在弄一下調用seo META Title和seo META Keywords.
大家應該都是在header頭文件里寫上{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}這個的吧。
這個$SEO的變量是在/phpcms/modules/content/index.php里的,所以要找到這個$SEO這個變量.
v9的代碼寫的很人性化,有注釋標明那些是單頁面的代碼,我直接找到單頁面那個代碼塊,發現這里的$SEO變量如下:
$SEO = seo($siteid, 0, $title,$setting['meta_description'],$keywords);
seo這個函數所在文件/phpcms/libs/functions/global.func.php
這個函數的聲明為:
function seo($siteid, $catid = '', $title = '', $description = '', $keyword = '')
研究一下它的定義,發現第二個參數是調用欄目seo META Title和seo META Keywords使用的,如果是0就不調用.
修改方法:
將上面$SEO的賦值寫成:
$SEO = seo($siteid, $catid, $title,$setting['meta_description'],$keywords);
在網上查了一下,還要修改/phpcms/modules/content/class/html.class.php里面的單頁面$SEO變量,這個應該是生成靜態化用的.
找到有注釋標明那些是單頁面的代碼一樣修改為:
$SEO = seo($siteid, $catid, $title,$setting['meta_description'],$keywords);
關于標題有重復,可以修改一下seo META Title這樣看起來會好看點,還有標題后面多了一個杠,我將seo這個函數所在文件/phpcms/libs/functions/global.func.php里面的如下代碼:
- $seo ['title'] = (isset ( $title ) && ! emptyempty ( $title ) ? $title : '') . (isset ( $cat ['setting'] ['meta_title'] ) && ! emptyempty ( $cat ['setting'] ['meta_title'] ) ? $cat ['setting'] ['meta_title'] . ' - ' : (isset ( $cat ['catname'] ) && ! emptyempty ( $cat ['catname'] ) ? $cat ['catname'] . ' - ' : ''));
- //修改成:
- $seo ['title'] = (isset ( $title ) && ! emptyempty ( $title ) ? $title . '_' : '') . (isset ( $cat ['setting'] ['meta_title'] ) && ! emptyempty ( $cat ['setting'] ['meta_title'] ) ? $cat ['setting'] ['meta_title'] : (isset ( $cat ['catname'] ) && ! emptyempty ( $cat ['catname'] ) ? $cat ['catname']: '')); //Vevb.com
新聞熱點
疑難解答