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