詳細介紹:https://eyou.5ee.net/eyou_rczj/511.html
演示地址:https://eyou.5ee.net/tags
思路
圖片不完整請進詳細介紹地址查看
此方法有瑕疵,并不是很完美,因為不懂PHP,有能力的希望幫忙優化一下首字母獲取的一個方案。
話不多說教程開始,快準狠。
本教程在eyoucms1.5.8 ,靜態tag下可使用。其他請自測
第一步:數據庫如何進行首字母獲取(數據庫使用為可視化操作)
1、在數據表ey_tagindex中新建一個字段 initial 做為首字母字段
2、新建一個定時器 用來每日執行sql代碼,進行每日更新一次tag首字母。(這個地方官方的多城市獲取首字母方式我不知道,有能力改成php應該執行效率更好)
(如何開啟這個事件狀態呢?)
要么百度,要么按照我這個方式來
my.ini的[mysqld]下加上一行event_scheduler=ON
寶塔環境。
然后就可以了。
進行添加事件
每天更新的意思。
定義里面放sql語句,復制黏貼即可
update ey_tagindex as u
INNER JOIN
(
select tag ,
ELT(INTERVAL(CONV(HEX(LEFT(CONVERT(tag USING gbk),1)),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,
0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1),
'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P',
'Q','R','S','T','W','X','Y','Z')
AS `initial` FROM ey_tagindex WHERE LEFT(tag,1) NOT IN ('A','B','C','D','E','F','G','H','J','K','L','M','N','O','P',
'Q','R','S','T','W','X','Y','Z')
)
as r
on u.tag = r.tag
set u.initial= r.initial
37分時自動更新,查看數據
自動更新首字母大概就這樣完成了,缺點就是不能實時更新,當然也能,每小時定時就行了,就是執行效率不高。
第二步:TAG主頁模板代碼(適用城市站里面加了注釋)
代碼多就不貼出來了,放附件。
index_tags.zip