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