「Mediawiki 擴展標籤/Categorytree」修訂間的差異
跳至導覽
跳至搜尋
(新頁面: 分類:Mediawiki ====(一)資料表==== Mediawiki 的分類樹狀結構藏在以下兩個資料表中:wiki_categorylinks,wiki_page 。 以「福留子孫」 wiki 為例,其根...) |
|||
| 第9行: | 第9行: | ||
select cl_to,cl_type,b.page_title from wiki_categorylinks a left join wiki_page b on a.cl_from=b.page_id where cl_to='教育' && cl_type='subcat' | select cl_to,cl_type,b.page_title from wiki_categorylinks a left join wiki_page b on a.cl_from=b.page_id where cl_to='教育' && cl_type='subcat' | ||
| − | + | 會得到「教育」分類下的所有子分類。計有:教師、教育財政、終身學習等三個子分類。 | |
select cl_to,cl_type,b.page_title from wiki_categorylinks a left join wiki_page b on a.cl_from=b.page_id where cl_to='教育' && cl_type='page' | select cl_to,cl_type,b.page_title from wiki_categorylinks a left join wiki_page b on a.cl_from=b.page_id where cl_to='教育' && cl_type='page' | ||
會得到「教育」分類下的所有共筆頁。 | 會得到「教育」分類下的所有共筆頁。 | ||
| + | |||
| + | 再對「教育」分類下的「教育財政」再進行遞迴處理,一層層處理下去即可得到整個分類樹。 | ||
| + | |||
| + | ====(二)外掛目標==== | ||
| + | 在 wiki 頁中寫下: | ||
| + | <categorytree mode='pages'>某目錄</categorytree> | ||
| + | |||
| + | 即可得到以「某目錄」之下的完整分類樹,並以 details 和 summary 組織起來。 | ||
於 2025年2月6日 (四) 21:59 的修訂
(一)資料表
Mediawiki 的分類樹狀結構藏在以下兩個資料表中:wiki_categorylinks,wiki_page 。 以「福留子孫」 wiki 為例,其根部目錄有一個分類「教育」。
select cl_to,cl_type,b.page_title from wiki_categorylinks a left join wiki_page b on a.cl_from=b.page_id where cl_to='教育'
會得到「教育」分類下的所有子分類和所有共筆頁。
select cl_to,cl_type,b.page_title from wiki_categorylinks a left join wiki_page b on a.cl_from=b.page_id where cl_to='教育' && cl_type='subcat'
會得到「教育」分類下的所有子分類。計有:教師、教育財政、終身學習等三個子分類。
select cl_to,cl_type,b.page_title from wiki_categorylinks a left join wiki_page b on a.cl_from=b.page_id where cl_to='教育' && cl_type='page'
會得到「教育」分類下的所有共筆頁。
再對「教育」分類下的「教育財政」再進行遞迴處理,一層層處理下去即可得到整個分類樹。
(二)外掛目標
在 wiki 頁中寫下:
找不到分類某目錄
即可得到以「某目錄」之下的完整分類樹,並以 details 和 summary 組織起來。