国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 織夢DEDE > 正文

dedecms相關文章標簽匹配tag、關鍵詞、標題及調用全站相關文章方

2024-07-12 08:26:18
字體:
來源:轉載
供稿:網友
文章介紹

我和dedecms

接觸dedecms是從2009開始的,以前一直用風訊和科訊(ASP的)這兩款,后來從成都到東莞進一公司打工,該公司就是使用的dedecms建站,我也跟著學了,怎么說呢剛開始覺得很強大,到后面用著越來越糟糕,很多地方做的不完善,另外一個讓大家很火的地方就是,在dede的論壇提問題基本上官方是不會給你解答的。就拿最近我新改版的跟版網(WWW.GENBAN.ORG)來說,我想調用相關文章,以tag優先調用,如果tag匹配不到或者匹配條數不夠再以關鍵詞匹配。

dedecms的相關文章標簽(likearticle.lib.php)

新版的dedecms5.7相關文章標簽有兩個問題

1、相關文章文章調只調用當前欄目的,其他欄目的調用不到

2、只能匹配其他文章的標題(title),和關鍵詞(keywords),沒有去匹配其他文章tag

修改dedecms(5.7)likearticle.lib.php相關文章標簽調用全站相關文章

打開likearticle.lib.php(請事先備份),
查找:$query = "
在其上方添加:$typeid = ' AND arc.id<>$arcid '; 注意有兩處,AND arc.id<>$arcid這個的意思就是限制調用出來的相關文章不包含本文章,記的dedecms7.0之前沒有做 這個限制-_-,這樣就取消了相關文章匹配欄目的限制了。

dedecms相關文章調用tag、關鍵詞(keywords)、標題(title)相同的文章

dedecms官方的相關文章標簽并沒有匹配tag相同的文章,他只是獲取當前文章的tag和關鍵詞(keywords)去匹配其他文章的標題(title)、關鍵詞(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";
}

注意以上綠色內容就是一部分匹配條件 ,$keyword .= ($keyword=='' ? " CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' " : " OR CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' ");可以看出dedecms只CONCAT了keywords和title,沒有做tag的處理,這里提供一個方法原創作者不詳。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普格县| 龙岩市| 博客| 大宁县| 柳河县| 惠来县| 长宁县| 通渭县| 麦盖提县| 雷山县| 汾西县| 仪征市| 梅河口市| 沂南县| 武宁县| 抚宁县| 邻水| 涪陵区| 济阳县| 平武县| 商南县| 衡南县| 那曲县| 龙泉市| 威海市| 常宁市| 铜梁县| 长武县| 泸西县| 定结县| 宜章县| 吉林省| 拉孜县| 同江市| 都匀市| 鄢陵县| 台山市| 梓潼县| 商丘市| 黄石市| 浮梁县|