濮阳杆衣贸易有限公司

主頁 > 網(wǎng)站建設(shè) > 建站知識 > 織夢相關(guān)文章標簽匹配tag、關(guān)鍵詞、標題及調(diào)用全站相關(guān)文章方法

織夢相關(guān)文章標簽匹配tag、關(guān)鍵詞、標題及調(diào)用全站相關(guān)文章方法

POST TIME:2021-05-23 01:08

新版的織夢dedecms5.7相關(guān)文章標簽有兩個問題
1、相關(guān)文章文章調(diào)只調(diào)用當前欄目的,其他欄目的調(diào)用不到
2、只能匹配其他文章的標題(title),和關(guān)鍵詞(keywords),沒有去匹配其他文章tag
修改dedecms(5.7)likearticle.lib.php相關(guān)文章標簽調(diào)用全站相關(guān)文章
打開likearticle.lib.php(請事先備份),
查找:$query = "
在其上方添加:$typeid = ' AND arc.id<>$arcid '; 注意有兩處,AND arc.id<>$arcid這個的意思就是限制調(diào)用出來的相關(guān)文章不包含本文章,記的dedecms7.0之前沒有做 這個限制-_-,這樣就取消了相關(guān)文章匹配欄目的限制了。
dedecms相關(guān)文章調(diào)用tag、關(guān)鍵詞(keywords)、標題(title)相同的文章
dedecms官方的相關(guān)文章標簽并沒有匹配tag相同的文章,他只是獲取當前文章的tag和關(guān)鍵詞(keywords)去匹配其他文章的標題(title)、關(guān)鍵詞(keywords) 請看dede的源碼片斷
if(!empty($refObj->Fields['keywords']))
{
$keywords = explode(',' , trim($refObj->Fields['keywords']));
$keyword = '';
$n = 1;
foreach($keywords as $k)
{
if($n > 3) break;
 
if(trim($k)=='') continue;
else $k = addslashes($k);
 
$keyword .= ($keyword=='' ? " CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' " : " OR CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' ");
$n++;
}
}
$arcid = (!empty($refObj->Fields['id']) ? $refObj->Fields['aid'] : 0);
if( empty($arcid) || $byabs==0 )
{
$orderquery = " ORDER BY arc.id desc ";
}
else {
$orderquery = " ORDER BY ABS(arc.id - ".$arcid.") ";
}
if($keyword != '')
{
if(!empty($typeid)) {
$typeid = " AND arc.typeid IN($typeid) AND arc.id<>$arcid ";
}
$query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
where arc.arcrank>-1 AND ($keyword) $typeid $orderquery limit 0, $row";
}
else
{
if(!empty($typeid)) {
$typeid = " arc.typeid IN($typeid) AND arc.id<>$arcid ";
}
$query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
WHERE arc.arcrank>-1 AND $typeid $orderquery limit 0, $row";
}
注意以上綠色內(nèi)容就是一部分匹配條件 ,$keyword .= ($keyword=='' ? " CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' " : " OR CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' ");可以看出dedecms只CONCAT了keywords和title,沒有做tag的處理  。


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

  • 400-1100-266
绥棱县| 个旧市| 东台市| 昭通市| 柳江县| 汤原县| 漾濞| 泸溪县| 通州区| 新泰市| 房产| 鹿邑县| 延吉市| 黄大仙区| 磐石市| 犍为县| 吴堡县| 射阳县| 喀喇沁旗| 兰考县| 巩留县| 海门市| 高唐县| 礼泉县| 洱源县| 昌江| 观塘区| 双江| 商洛市| 恩施市| 漠河县| 贡觉县| 桐柏县| 寿宁县| 屏山县| 望江县| 西城区| 德兴市| 饶平县| 京山县| 焦作市|