節(jié)點中“模板選項”與“分頁標(biāo)簽”的關(guān)系
最近回復(fù)論壇網(wǎng)友提問時注意到這么一個問題:在動態(tài)頁中分頁可以正常顯示,而在生成靜態(tài)頁后分頁就不能正常顯示了?為什么動態(tài)頁和靜態(tài)頁的分頁效果會顯示不正常?很多人認為是系統(tǒng)bugs的問題,這其實是沒有理解節(jié)點設(shè)置中“模板選項”和“分頁標(biāo)簽”之間的關(guān)系。因此,在回答這個問題前,我們有必要詳細介紹下節(jié)點模板與分頁標(biāo)簽的關(guān)系,以進一步加深對這個問題的理解和處理。
一、基本概念介紹
我們以某一個網(wǎng)站欄目(節(jié)點)結(jié)構(gòu)為例,如下圖:
從圖中可以看到,“大自然”這個節(jié)點有以下幾個特點:
a、“大自然”節(jié)點下面含有多個子節(jié)點;
b、“大自然”節(jié)點本身含有內(nèi)容信息;
c、“大自然”節(jié)點的模板選項設(shè)置了“欄目列表頁模板”、“欄目首頁模板”及“內(nèi)容頁模板”。
介紹一:節(jié)點的模板選項
a、“欄目列表頁模板”是必填項,這里的作用是:分頁或不分頁的方式顯示“大自然”節(jié)點內(nèi)的信息列表。
b、“欄目首頁模板”是可選填項,當(dāng)某個節(jié)點既有子節(jié)點又有內(nèi)容時,可以指定該模板用于生成一個封面頁(即通常我們熟悉的頻道首頁,如上圖中點擊“大自然”或“湖泊”節(jié)點進入到的頁面),但是該頁面生成HTML的時候是不支持分頁的。而像“森林”、“草原”、“海洋”、“冰川”這些節(jié)點下沒有子節(jié)點,所以就不需要指定欄目首頁模板。
c、“內(nèi)容頁模板”是必填項,選擇對應(yīng)的內(nèi)容模型和內(nèi)容頁模板。
介紹二:分頁
SiteFactory? 中分頁的效果是通過在模板中加入分頁標(biāo)簽來實現(xiàn)的。分頁又分頁欄目分頁和信息分頁,文中所提到的分頁是欄目分頁和信息分頁的總稱,即所有分頁效果。
介紹三:欄目模板與分頁的關(guān)系
雖然SiteFactory? 的標(biāo)簽是全站解析(通用)的,但是“欄目首頁模板”不支持分頁效果;“欄目列表頁模板”支持分頁效果。(下文將會舉例說明)
上面幾點概念性的介紹有助于你加深對下面案例的理解,SiteFactory? 之所以設(shè)計為“欄目首頁模板”不支持分頁是為了與“欄目列表頁模板”不混淆。如果對此不能理解的話,可以借助網(wǎng)易頻道進行理解:
網(wǎng)易“新聞頻道——國內(nèi)新聞”欄目下包含:國內(nèi)頭條、兩岸三地、希望農(nóng)村、新聞貼圖四個欄目。
網(wǎng)易“新聞頻道——國內(nèi)新聞”的欄目首頁:
(不分頁)
網(wǎng)易“新聞頻道——國內(nèi)新聞——國內(nèi)頭條”的欄目列表頁:
(分頁)
二、舉例說明
(例一)——
由于SiteFactory? 的標(biāo)簽是全站解析的,所以即使欄目首頁不支持分頁,但如果你設(shè)計的“欄目首頁模板”里含有分頁標(biāo)簽,系統(tǒng)依然會進行解析并在前臺顯示出來。那這樣不是前后矛盾了?非也,我們就來看看下面這個“欄目首頁模板”加入了分頁標(biāo)簽的例子,到底會出現(xiàn)什么問題呢?
首先,設(shè)置“大自然”節(jié)點的模板選項,如下圖所示:
注:這里選擇的“默認文章首頁模板.html”是加入了分頁標(biāo)簽的,按每頁4個欄目顯示“大自然”節(jié)點下的子欄目。
其次,“生成選項”設(shè)置如下圖所示,生成欄目列表頁。
然后,瀏覽前臺“大自然”欄目可以看到分頁標(biāo)簽在“欄目首頁”生效了,如下圖所示:
最后,我們分析上圖所示的“大自然”欄目首頁的分頁鏈接地址:
1)當(dāng)我們選擇生成HTML時:
(第一頁)
(第二頁)
通過分頁地址鏈接的對比發(fā)現(xiàn)問題了嗎?對,雖然分頁標(biāo)簽在“欄目首頁”解析了,但無論是第一頁還是第二頁都是指向同一個地址。
2)當(dāng)我們不生成HTML(動態(tài)頁面)時:
(第一頁)
(第二頁)
通過分頁地址鏈接的對比發(fā)現(xiàn),動態(tài)方式分頁鏈接地址是正常的,但是這只是表面上看起來正常。這里必須清楚的是第一頁調(diào)用的是“欄目首頁模板”,而第二頁調(diào)用的則是“欄目列表頁模板”。當(dāng)欄目首頁模板和欄目列表頁模板不一樣的時候(通常都是不一樣的),就會出現(xiàn)第一頁與第二頁顯示效果不同的問題,也就是點“下一頁”頁面會亂跑到別的頁面。
小結(jié)一:SiteFactory? 的“欄目首頁模板”強烈不要加入分頁標(biāo)簽,“欄目首頁模板”是不支持分頁效果的。
(例二)
看了上面的(例一)或許你會提出這樣的疑問:如果我需要欄目首頁實現(xiàn)分頁效果呢?那么請繼續(xù)看下面的例子
首先,設(shè)置“大自然”節(jié)點的模板選項,如下圖所示:
注:不選擇“欄目首頁模板”。
然后,“生成選項”設(shè)置如下圖所示,生成欄目列表頁。
最后,瀏覽前臺可以看到,雖然沒有設(shè)置“欄目首頁模板”,但“大自然”欄目依然分頁顯示出了其子欄目,如下圖所示:
我們分析上圖所示的“大自然”欄目首頁的分頁鏈接地址:
1)當(dāng)我們選擇生成HTML時:
(第一頁)
(第二頁)
2)當(dāng)我們不生成HTML(動態(tài)頁)時:
(第一頁)
(第二頁)
通過分析發(fā)現(xiàn):以上所有的分頁鏈接地址均是正常的,第一、第二頁都是正確調(diào)用了欄目列表頁模板。
小結(jié):
1)當(dāng)某一欄目下含有子欄目且本身含有信息內(nèi)容時,如果需要在此欄目首頁實現(xiàn)分頁效果,那么后臺該欄目的“模板選項”中不能指定“欄目首頁模板”,只需設(shè)置“欄目列表頁模板”;
2)“欄目列表頁模板”才能實現(xiàn)分頁效果,“欄目首頁模板”不能實現(xiàn)分頁效果,因此在節(jié)點設(shè)置的“模板選項”中一定要根據(jù)實際需求選擇模板。
通過舉例和對比,到此很多人應(yīng)該清楚文章開頭部分那個問題的原因了吧?現(xiàn)在就來回答這個問題。
問:在動態(tài)頁中分頁可以正常顯示,而在生成靜態(tài)頁后分頁就不能正常顯示了,為什么呢?
答:這是因為在節(jié)點設(shè)置的“模板選項”中指定了含有分頁標(biāo)簽的“欄目首頁模板”的原因;為了不與欄目列表頁混淆,“欄目首頁模板”是不支持分頁效果的。但欄目首頁需要分頁效果,只需要指定含有分頁標(biāo)簽的“欄目列表頁模板”。
延伸閱讀(一)——
既然“欄目首頁模板”不支持分頁效果,那直接使用“欄目列表頁模板”就可以了,為什么還保留“欄目首頁模板”呢?
因為僅僅是使用“欄目列表頁模板”的話所有欄目列表頁都只能是調(diào)用同樣的模板,實現(xiàn)相同的樣式。當(dāng)你想讓某個含有多級子欄目和內(nèi)容的欄目顯示相關(guān)信息聚合時,當(dāng)你想為多級子欄目或者信息制作欄目首頁或者封面頁面時,就應(yīng)該考慮使用“欄目首頁模板”了(上文中提到的網(wǎng)易新聞頻道的例子,展示的就是“欄目首頁模板”和“欄目列表頁模板”的不同作用了)。通常來說指定的“欄目首頁模板”和“欄目列表頁模板”應(yīng)該是不一樣,否則只需指定“欄目列表頁模板”就可以了。
延伸閱讀(二)——
附默認雅藍模板方案中各模板的使用說明:
用戶登錄
還沒有賬號?
立即注冊