DedeCMS在該版本又對許多地方進行了改進。但是我一直期待的自動添加指定關鍵字鏈接功能卻仍沒有出現,而且目前關鍵詞添加鏈接的次數還是不可以控制。于是我在DEDE論壇中仔細搜索,終于發現有一位朋友給出了自己的修改方案,此方案是目前5.3版中較好解決關鍵詞鏈接問題的方法:
查找include/arc.archives.class 文件下的:ReplaceKeyword 函數。 找到以下代碼:
以下為引用的內容:
foreach($kws as $k)
{
$k = trim($k);
if($k!="")
{
if($i > $maxkey)
{
break;
}
$myrow = $this->dsql->GetOne("select * from dede_keywords where keyword='$k' And rpurl<>'' ");
if(is_array($myrow))
{
$karr[] = $k;
$kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";
}
$i++;
}
將其替換為:
以下為引用的內容:
$dsql = new DedeSql(false);
$query="select * from dede_keywords where rpurl<>'' ";
$dsql->SetQuery($query);
$dsql->Execute();
while($row = $dsql->GetArray())
{
$key = trim($row['keyword']);
$rul=trim($row['rpurl']);
if($rul!="")
if(!in_array($key, $kw))
if(!in_array($kw,$key))
if(substr_count($body,$key)<5)
{
$karr[] = $key;
$kaarr[] = "<a href='$rul'><u>$key</u></a>";
}
}
其中的數字5表示在文章中出現多少次關鍵詞后則不加鏈接。該方法可以為文章中的關鍵詞自動添加鏈接,這些鏈接及詞是在“文章關鍵詞維護”中設置的,這樣一來對于一些需要經常添加的鏈接錨文字就不再需要手動操作了,但該方法還不夠完美。比如當文章中該錨文字出現次數大于代碼中的設定值時則一個鏈接也不會添加。