需求描述:
1.將專題列表下的列表單元,自動根據專題頁標題或者頁面關鍵詞來匹配展示;
2.第一個精確匹配,后面十一個模糊匹配,總數12個;
正文模板中,引入部分為:
[!--empirenews.listtemp--]<!--list.var2-->[!--empirenews.listtemp--]
<ul class="clearfix mainCont"> [!--empirenews.listtemp--]<!--list.var2-->[!--empirenews.listtemp--] </ul>
此部分,當前為推送才能獲取列表參數,所以改為自動獲取時,使用靈動標簽;
步驟:
1.刪除[!--empirenews.listtemp--]<!--list.var2-->[!--empirenews.listtemp--]引用模塊,
2.將list.var模塊中,$listtemp后面引號包裹部分html復制到內容模板原來引入模塊刪除的位置;
3.添加靈動標簽[e:loop={}]包裹加入的html部分,
4.找到對應的數據表(此處我需要找的是下載表,即[!db.pre!]ecms_download),
5.找到當前專題模板頁頂所查詢的數據表(enewszt)的專題變量$zr
6.將要查詢表中的標題(title)或關鍵詞(keyboard)匹配當前頁面的頁面關鍵詞(ztpagekey,前面加上查詢變量$zr,使用%包裹,表示模糊查詢),限制為11(因為第一條要精確匹配);
<ul class="clearfix mainCont"> [e:loop={"select * from [!db.pre!]ecms_download where title like '%$zr[ztpagekey]%' or keyboard like '%$zr[ztpagekey]%' limit 11",0,24,0}] <li><p>< a href="<?=$bqr[titleurl]?>" class="img" preview="'.<?=$bqr[titlepic]?>.'"><img src="'.<?=$bqr[titlepic]?>.'"></ a><i>< a href="<?=$bqr[titleurl]?>"><strong><?=$bqr[title]?></strong></ a><span class="xj lstar<?=$bqr[star]?>">等級:</span><span class="bb"><?=$bqr[softsq]?></span><span class="time"><?=$bqr[newstime]?></span><span class="size"><?=$bqr[filesize]?></span><span class="lan"><?=$bqr[language]?></span></i><s><a rel="nofollow" href="<?=$bqr[titleurl]?>" target="_blank">下載</ a></s><em><font>內容導讀:</font><strong><?=$bqr[smalltext]?></strong></em><span class="platform"><font></font></span> </p></li> [/e:loop] </ul>
7.再復制該[e:loop={}]語句,置於第六條[e:loop={}]語句之上,進行精確查詢;
<ul class="clearfix mainCont"> [e:loop={"select * from [!db.pre!]ecms_download where title regexp '(^|,)$title($|,)'",0,24,0}] <li><p>< a href="<?=$bqr[titleurl]?>" class="img" preview="'.<?=$bqr[titlepic]?>.'"><img src="'.<?=$bqr[titlepic]?>.'"></ a><i>< a href="<?=$bqr[titleurl]?>"><strong><?=$bqr[title]?></strong></ a><span class="xj lstar<?=$bqr[star]?>">等級:</span><span class="bb"><?=$bqr[softsq]?></span><span class="time"><?=$bqr[newstime]?></span><span class="size"><?=$bqr[filesize]?></span><span class="lan"><?=$bqr[language]?></span></i><s><a rel="nofollow" href="<?=$bqr[titleurl]?>" target="_blank">下載</ a></s><em><font>內容導讀:</font><strong><?=$bqr[smalltext]?></strong></em><span class="platform"><font></font></span> </p></li> [/e:loop] [e:loop={"select * from [!db.pre!]ecms_download where title like '%$zr[ztpagekey]%' or keyboard like '%$zr[ztpagekey]%' limit 11",0,24,0}] <li><p>< a href="<?=$bqr[titleurl]?>" class="img" preview="'.<?=$bqr[titlepic]?>.'"><img src="'.<?=$bqr[titlepic]?>.'"></ a><i>< a href="<?=$bqr[titleurl]?>"><strong><?=$bqr[title]?></strong></ a><span class="xj lstar<?=$bqr[star]?>">等級:</span><span class="bb"><?=$bqr[softsq]?></span><span class="time"><?=$bqr[newstime]?></span><span class="size"><?=$bqr[filesize]?></span><span class="lan"><?=$bqr[language]?></span></i><s><a rel="nofollow" href="<?=$bqr[titleurl]?>" target="_blank">下載</ a></s><em><font>內容導讀:</font><strong><?=$bqr[smalltext]?></strong></em><span class="platform"><font></font></span> </p></li> [/e:loop] </ul>
注意:
精確查找SQL使用——where title regexp '(^|,)匹配參數($|,)'
模糊查找SQL使用——title like '%匹配參數%'
參考文章: