模塊功能是 SupeSite 系統(tǒng)的一個(gè)亮點(diǎn),通過(guò)該功能您可以隨心所欲的打造您需要的模板,什么地方顯示什么模塊,調(diào)用什么內(nèi)容,如何樣的風(fēng)格,盡在您的掌握。
在模塊管理中,通過(guò)選擇現(xiàn)有的模板代碼,根據(jù)自己的需要,添加到站點(diǎn)模板文件的任意位置中,便可以實(shí)現(xiàn)對(duì)論壇、UCenter Home 上面的信息的讀取顯示。選擇不同的基本模塊,可以查看該基本模塊下面的已有模塊代碼。您也可以通過(guò)創(chuàng)建模塊操作,根據(jù)自己的需求,進(jìn)行模塊添加操作。只獲取數(shù)據(jù)的模塊只能進(jìn)行模板內(nèi)部調(diào)用,其他類(lèi)模板代碼可以進(jìn)行兩種模式的調(diào)用顯示:模板內(nèi)部調(diào)用、JavaScript 調(diào)用。模板內(nèi)部調(diào)用,此方式的調(diào)用代碼可以放置于本系統(tǒng)內(nèi)部模板的任意位置,但不能放置于其他系統(tǒng)的模板頁(yè)面。采用批量緩存更新進(jìn)制,效率高,服務(wù)器資源占有很少,速度快,推薦使用。JavaScript 調(diào)用,此方式的調(diào)用代碼可以放置于任何站點(diǎn)的任何頁(yè)面,適用范圍廣。數(shù)據(jù)會(huì)自動(dòng)緩存并按指定的時(shí)間間隔進(jìn)行周期更新。
通過(guò)創(chuàng)建不同的模塊代碼,并放置于模板中加以使用,就可以實(shí)現(xiàn)對(duì)論壇或 UCenter Home 上面的數(shù)據(jù)靈活顯示。選擇一個(gè)基本模塊,在出現(xiàn)的創(chuàng)建模塊向?qū)ы?yè)面中,根據(jù)站內(nèi)對(duì)顯示數(shù)據(jù)內(nèi)容的需求進(jìn)行自由設(shè)定,提交后就可以獲得需要的模塊代碼了。選擇模塊風(fēng)格為只獲取數(shù)據(jù)時(shí),模塊將會(huì)把滿足條件的數(shù)據(jù)讀入到 $_SBLOCK[變量名] 數(shù)組中,您可以在模板文件對(duì)該數(shù)組變量進(jìn)行自由操作,非常方便。
模塊管理功能位于 SupeSite 后臺(tái) => 模塊管理中,下面分為創(chuàng)建模塊和模塊管理兩個(gè)子項(xiàng),如下圖所示:

一、創(chuàng)建模塊
此處以調(diào)用“資訊”的數(shù)據(jù)為例,創(chuàng)建一個(gè)調(diào)用最新發(fā)布的資訊列表,共調(diào)用5條,要求調(diào)用出資訊的內(nèi)容及所屬分類(lèi)的信息。
1、進(jìn)入 SupeSite 后臺(tái),點(diǎn)擊“模塊管理”的“創(chuàng)建模塊”。在此選擇需要調(diào)用的數(shù)據(jù)類(lèi)型,例如“資訊”。

如上圖,填入模塊名,例如“5條最新資訊”,模塊名僅為一個(gè)標(biāo)識(shí),并無(wú)實(shí)際含義。“向?qū)J?rdquo;,如果選擇“高級(jí)模式”,那么需要自己寫(xiě) SQL 語(yǔ)句來(lái)調(diào)用數(shù)據(jù);如果選擇“向?qū)J?rdquo;,那么程序會(huì)根據(jù)您做的過(guò)濾規(guī)則調(diào)用數(shù)據(jù)。對(duì)于剛剛接觸 SupeSite 的用戶,建議使用“向?qū)J?rdquo;。
2、過(guò)濾設(shè)置,這里設(shè)置的是對(duì)于資訊數(shù)據(jù)的調(diào)用過(guò)濾條件,可以根據(jù)實(shí)際的需要去做調(diào)整。例如僅需要調(diào)用某一個(gè)或幾個(gè)指定的分類(lèi)下的資訊數(shù)據(jù),則可以在“站點(diǎn)分類(lèi)”一項(xiàng)中,勾選對(duì)應(yīng)的項(xiàng)目即可。這里如果設(shè)置了過(guò)濾條件,調(diào)用出來(lái)的資訊數(shù)據(jù)則需要滿足這里的設(shè)置,如果要調(diào)用全部的資訊數(shù)據(jù),則不用設(shè)置。本例中沒(méi)有限定資訊的過(guò)濾條件,則不用設(shè)置。

3、排序設(shè)置:設(shè)置數(shù)據(jù)的顯示順序??梢砸罁?jù)發(fā)布時(shí)間、回復(fù)時(shí)間、查看數(shù)、回復(fù)數(shù)、精華級(jí)別、好評(píng)分、差評(píng)分來(lái)排序,排序的規(guī)則有:遞增和遞減??梢栽O(shè)置三個(gè)排序依據(jù),第一排序的優(yōu)先級(jí)最高,第二、第三的優(yōu)先級(jí)遞減。本例中要?jiǎng)?chuàng)建的為“最新資訊”,所以這里設(shè)置第一排序?yàn)?ldquo;發(fā)布時(shí)間”,“遞減”,則表明調(diào)用出的數(shù)據(jù)為最新的資訊。

4、數(shù)據(jù)設(shè)置:設(shè)置調(diào)用數(shù)據(jù)的條數(shù),如果要調(diào)用指定條數(shù)的數(shù)據(jù),請(qǐng)選擇“顯示指定數(shù)目的信息”;如果需要分頁(yè)顯示調(diào)用的數(shù)據(jù),請(qǐng)選擇“讀取所有滿足條件的信息,并分頁(yè)顯示”。
當(dāng)選擇“顯示指定數(shù)目的信息”時(shí),需要設(shè)置“起始數(shù)據(jù)行數(shù)”及“顯示數(shù)據(jù)條數(shù)”。本例中需要調(diào)用最新的5條資訊,則“起始數(shù)據(jù)行數(shù)”設(shè)置為0,“顯示數(shù)據(jù)條數(shù)”設(shè)置為5,這樣調(diào)用出來(lái)的數(shù)據(jù)就是前5條數(shù)據(jù)。如果要調(diào)用第6條至第10條數(shù)據(jù),就需要將“起始數(shù)據(jù)行數(shù)”設(shè)置為5,“顯示數(shù)據(jù)條數(shù)”設(shè)置為5。

當(dāng)選擇“讀取所有滿足條件的信息,并分頁(yè)顯示”時(shí),需要設(shè)置“每頁(yè)顯示數(shù)目”,例如設(shè)置為10,就表示一頁(yè)需要顯示10條數(shù)據(jù)。啟用數(shù)據(jù)分頁(yè)顯示后,在下面的“顯示風(fēng)格”配置環(huán)節(jié),您必須指定“變量名”,并且模塊風(fēng)格文件只能選擇“只獲取數(shù)據(jù)”,此外,緩存更新時(shí)間設(shè)置將無(wú)效,數(shù)據(jù)不會(huì)被緩存。列表信息將儲(chǔ)存到 $_SBLOCK[變量名] 變量中,分頁(yè)信息將儲(chǔ)存到 $_SBLOCK[變量名_multipage] 變量中,您只需要在模板中對(duì)列表變量、分頁(yè)變量加以靈活利用就可以了。

5、緩存設(shè)置和顯示處理
緩存設(shè)置:設(shè)置數(shù)據(jù)緩存更新的時(shí)間間隔,默認(rèn)為900,單位秒,即15分鐘。數(shù)據(jù)設(shè)置選擇“讀取所有滿足條件的信息,并分頁(yè)顯示”時(shí),緩存更新時(shí)間設(shè)置將無(wú)效,數(shù)據(jù)不會(huì)被緩存。
顯示處理:設(shè)置是否需要讀取某些信息。
標(biāo)題長(zhǎng)度:設(shè)置數(shù)據(jù)調(diào)用后,將標(biāo)題要截取的長(zhǎng)度,單位字節(jié)。例如設(shè)置為20,則表示查詢出的文章標(biāo)題被截取為20字節(jié)長(zhǎng),其中已包含下面要設(shè)置的省略號(hào)的3個(gè)字節(jié)。
標(biāo)題截取省略號(hào):設(shè)置截取后的文章標(biāo)題后是否添加省略號(hào)。
讀取所在分類(lèi)欄目名:選擇“讀取”,則可以將當(dāng)前資訊所在的分類(lèi)的信息一同調(diào)用出來(lái)。
讀取詳細(xì)內(nèi)容信息:選擇“讀取”,則可以將當(dāng)前資訊的內(nèi)容讀取出來(lái)。讀取詳細(xì)內(nèi)容信息,這將增加服務(wù)器負(fù)擔(dān)。如果您只想獲取標(biāo)題列表,請(qǐng)不要選擇該項(xiàng)。
內(nèi)容長(zhǎng)度:含義同“標(biāo)題長(zhǎng)度”。
內(nèi)容截取省略號(hào):含義同“標(biāo)題截取省略號(hào)”。
本例中需要調(diào)用出資訊的內(nèi)容及所屬分類(lèi)的信息,則需如下圖所示:

6、顯示風(fēng)格:這里要設(shè)定列表信息將儲(chǔ)存到的變量名,選擇或自己輸入一個(gè)模塊風(fēng)格文件。
變量名:您可以把獲取的數(shù)據(jù)集合放置到一個(gè)模塊變量中。在模板文件中可以使用 $_SBLOCK[變量名] 來(lái)調(diào)用該數(shù)據(jù)集合。
選擇模塊風(fēng)格文件:針對(duì)不同的模塊,有不同的模塊風(fēng)格來(lái)控制該模塊數(shù)據(jù)的顯示樣式。您可以通過(guò) 模塊風(fēng)格 功能,來(lái)為該模塊添加、設(shè)置不同的風(fēng)格。注意:這里如果選擇“只獲取數(shù)據(jù)”,那需要您自己寫(xiě)模塊代碼,將數(shù)據(jù)顯示到頁(yè)面,如果選擇其他的風(fēng)格文件,或在下面指定自己的風(fēng)格文件,則可以獲得站外調(diào)用時(shí)使用的 JS 代碼。
自己輸入模塊風(fēng)格文件:如果默認(rèn)的模塊文件中沒(méi)有您需要的,您可以自己指定自己的模塊風(fēng)格文件地址。模塊風(fēng)格文件必須先上傳,并放置于 styles 目錄下面,后綴為 .html.php。
本例中我們要?jiǎng)?chuàng)建的調(diào)用為最新資訊,可以通過(guò)含義命名“變量名”為“new_news”,且該調(diào)用是用于本站的模板使用,后面需要在模板中手動(dòng)編寫(xiě)模塊的顯示代碼,故選擇“只獲取數(shù)據(jù)”即可。

至此,數(shù)據(jù)模型已經(jīng)設(shè)置完畢,點(diǎn)擊“提交”,您將獲得一段這樣的模板內(nèi)部調(diào)用代碼:

注意:此處創(chuàng)建的模板內(nèi)部調(diào)用代碼也可以直接通過(guò)手寫(xiě)生成,并不一定需要通過(guò)“創(chuàng)建模塊”來(lái)創(chuàng)建,所以“創(chuàng)建模塊”僅僅是創(chuàng)建模塊的一個(gè)輔助工具,而不是決定工具。
二、使用獲得的模板內(nèi)部調(diào)用代碼
注:模板代碼此處不贅述。
將上面獲取的代碼復(fù)制到 SupeSite 的模板文件中(默認(rèn)模板的目錄為 templates/default),例如加入到 SupeSite “綜合首頁(yè)”的模板中 index.html.php 的合適的位置。
在模塊的下一行開(kāi)始書(shū)寫(xiě)模塊顯示的模板代碼,例如:
從上面的代碼可以看出該模塊查詢出的數(shù)據(jù)存儲(chǔ)在了 $_SBLOCK[new_news] 這樣的一個(gè)變量中,其中 new_news 就是在上一步中設(shè)定的“變量名”,如過(guò)當(dāng)前設(shè)置為分頁(yè)調(diào)用數(shù)據(jù),則可以通過(guò) $_SBLOCK[new_news_multipage] 這個(gè)變量直接輸出分頁(yè)的全部代碼,無(wú)需再次書(shū)寫(xiě)任何模板代碼。
從本例中的模板代碼可以看到 $value[catname][catid] 、 $value[subject] 、 $value[message] 等變量的使用,而這些具體的數(shù)據(jù)參數(shù)是通過(guò)模塊代碼無(wú)法獲得的。不過(guò),可以通過(guò)下面的代碼將該模塊查詢出的信息全部輸出,其中包含了所有可以使用參數(shù)名稱及該參數(shù)對(duì)應(yīng)的數(shù)據(jù)值。了解清楚之后,需要將下面這段代碼刪除調(diào)用,再編寫(xiě)模塊顯示的模板代碼。
三、管理模塊
通過(guò)“管理模塊”可以查看所有添加的模塊,也可以通過(guò)“基本模塊”分類(lèi)查看。勾選模塊前面的復(fù)選框,點(diǎn)擊“提交”就可以刪除模塊。點(diǎn)擊模塊后面的編輯,則可以重新設(shè)置該模塊的所有設(shè)置項(xiàng)目,并重新生成該模塊。

新聞熱點(diǎn)
疑難解答