專利名稱:網(wǎng)頁模板配置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)頁發(fā)布技術(shù),具體的說是對靜態(tài)網(wǎng)頁所使用的模板進(jìn)行數(shù)據(jù)配 置的方法
背景技術(shù):
目前各種靜態(tài)網(wǎng)頁發(fā)布技術(shù)或產(chǎn)品,絕大多數(shù)都是基于網(wǎng)頁模板實(shí)現(xiàn)的。網(wǎng)頁模 板一般是由功能組件和一般的HTMLOlyperTextMark-up Language,即超文本標(biāo)記語言或超 文本鏈接標(biāo)示語言)代碼所組成。而文章列表的功能組件也是網(wǎng)頁模板功能的重中之重。 大部分市場上針對文章列表的處理幾乎都是基于列表組件的配置完成,也就是說模板中的 列表功能組件中要包含列表所屬欄目編號、文章過濾條件、顯示數(shù)目、循環(huán)體內(nèi)容、字?jǐn)?shù)限 制等信息。這樣就帶來了以下的一些問題1、大部分的模板都是由美工人員或前臺設(shè)計(jì)人員完成,但是此類人員對于網(wǎng)站內(nèi) 部的欄目設(shè)置和列表實(shí)現(xiàn)的具體條件等信息不可能很熟悉,這樣就會造成開發(fā)效率降低。2、網(wǎng)頁模板的制作必須在網(wǎng)站欄目確定并生成后才可制作;在網(wǎng)站后期如果發(fā)生 欄目的變化,必須重新修改網(wǎng)頁模板。3、網(wǎng)頁模板大部分是在Dreamweaver等頁面制作軟件中完成,不能和數(shù)據(jù)庫交 互,造成了配置參數(shù)的非常繁瑣。4、無法實(shí)現(xiàn)復(fù)雜的過濾條件。例如當(dāng)列表組件和其他模板,或是其他模板中的某 個(gè)特定組件數(shù)據(jù)具有依賴關(guān)系時(shí),傳統(tǒng)的技術(shù)和產(chǎn)品就很難實(shí)現(xiàn)。5、每一套網(wǎng)頁模板只能適用于一個(gè)網(wǎng)站,無法實(shí)現(xiàn)模板的通用性。有很多網(wǎng)站類 似于通用企業(yè)網(wǎng)站,個(gè)人博客等站點(diǎn)是基本相同的,但是由于一些組件的個(gè)別配置不同就 導(dǎo)致必須重新制作一套完整的網(wǎng)頁模板。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種網(wǎng)頁模板配置方法,能夠使模板重復(fù)使用,并實(shí)現(xiàn)可視 化配置模板、復(fù)雜條件過濾的功能。一種網(wǎng)頁模板配置方法,包括以下步驟a讀取網(wǎng)頁模板文件,對模板文件的內(nèi)容進(jìn)行分析,將所有的組件(組件是模版的 組成部分,具有各種功能)從模板中解析出來形成一個(gè)以組件名為鍵的Map(即將鍵映射到 值的對象),再對Map序列化為組件配置保存在數(shù)據(jù)庫中;b從數(shù)據(jù)庫中讀取組件配置,解析并生成對應(yīng)的組件配置界面,所述組件配置界面 至少包括列表組件和變量組件,所述列表組件包括文章列表和分類列表;c用戶在所述組件配置界面操作,用戶可對所述文章列表的所屬欄目和使用模板 進(jìn)行配置,用戶的配置生成組件值;d將組件配置反序列化生成以組件名為鍵的Map,然后在所述Map中填入上述c步 驟中用戶的配置生成的組件值,再將Map序列化后保存數(shù)據(jù)庫中;
e發(fā)布網(wǎng)頁時(shí),取出數(shù)據(jù)庫中的組件配置,并將組件配置解析轉(zhuǎn)換成一個(gè)MAP作為 條件,用這個(gè)條件對網(wǎng)頁數(shù)據(jù)進(jìn)行過濾,生成網(wǎng)頁結(jié)果。所述步驟c中,如果用戶沒有設(shè)置所述文章列表的使用模板,則默認(rèn)對模板沒有 限制;如果用戶選擇了使用的模板,則將可以進(jìn)一步設(shè)置過濾條件的組件向用戶列出,供用 戶進(jìn)行設(shè)置,當(dāng)用戶設(shè)置了多個(gè)條件,則將所有設(shè)置以“AND”的方式進(jìn)行組合。對于各個(gè)模板通用部分,設(shè)置為變量,變量即用一個(gè)名稱代表一段代碼。所述可以進(jìn)一步設(shè)置過濾條件的組件包括分類、預(yù)定義文本和數(shù)字所述預(yù)定義文本包括標(biāo)題,內(nèi)容和作者。本發(fā)明具有以下有益效果應(yīng)用本發(fā)明網(wǎng)頁模板配置方法能夠產(chǎn)生通用的可視化 的模板,網(wǎng)站的前臺設(shè)計(jì)人員或美工人員無需了解編程和后臺信息;改變網(wǎng)站欄目時(shí)無需 重新修改模板,提高了網(wǎng)站制作效率。本發(fā)明網(wǎng)頁模板配置方法產(chǎn)生的模板還能夠與數(shù)據(jù) 庫交互,配置參數(shù)的十分簡單并能實(shí)現(xiàn)復(fù)雜的搜索過濾條件。
下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步說明。圖1為本發(fā)明網(wǎng)頁模板配置方法流程示意圖;圖2為本發(fā)明網(wǎng)頁模板配置方法步驟c中用戶配置的流程示意圖;圖3為發(fā)明網(wǎng)頁模板配置方法步驟c中文章列表配置的流程示意具體實(shí)施例方式下面用一個(gè)實(shí)際的例子對本發(fā)明做具體說明。參見圖1,本發(fā)明網(wǎng)頁模板配置方法包括如下步驟a步驟中,取網(wǎng)頁模板文件,對模板文件的內(nèi)容進(jìn)行分析,將所有的組件從模板中 解析出來形成一個(gè)以組件名為鍵的Map,再對Map序列化為組件配置保存在數(shù)據(jù)庫中。b步驟中,從數(shù)據(jù)庫中讀取組件配置,解析并生成對應(yīng)的組件配置界面,所述組件 配置界面至少包括列表組件和變量組件,所述列表組件包括文章列表和分類列表。c步驟中,用戶在所述組件配置界面操作,用戶可對所述文章列表的所屬欄目和使 用模板進(jìn)行配置,用戶的配置生成組件值;如果用戶沒有設(shè)置所述文章列表的使用模板,則 默認(rèn)對模板沒有限制;如果用戶選擇了使用的模板,則將可以進(jìn)一步設(shè)置過濾條件的組件 向用戶列出,供用戶進(jìn)行設(shè)置,當(dāng)用戶設(shè)置了多個(gè)條件,則將所有設(shè)置以“AND”的方式進(jìn)行 組合。所屬欄目就是指文章的所屬欄目,如果用戶沒有對所屬欄目進(jìn)行配置的情況下, 系統(tǒng)默認(rèn)為使用此模板發(fā)布頁面時(shí)的當(dāng)前欄目。如果用戶進(jìn)行設(shè)置,則此處的文章列表就 只能由指定的欄目下文章組成。(參見圖2)用戶也可以對文章的使用模板進(jìn)行配置,如果用戶沒有設(shè)置系統(tǒng)則視為對模板沒 有限制。如果設(shè)置使用模板,則此處的文章列表就只能有由使用此模板的文章組成。當(dāng)用 戶選擇了使用的模板后,系統(tǒng)會對選擇的模板進(jìn)行組件解析,將可以進(jìn)一步設(shè)置過濾條件 的組件向用戶羅列出來,供用戶進(jìn)行設(shè)置。目前此系統(tǒng)支持對分類、預(yù)定義文本(標(biāo)題,內(nèi) 容,作者),數(shù)字三種組件進(jìn)行條件篩選。(參見圖3)
1,系統(tǒng)對分類組件的條件支持是相同判斷。當(dāng)用戶選擇的模板M中含有分類組件 X時(shí),用戶可以選擇網(wǎng)站分類中的Y值,這樣系統(tǒng)就會自動判斷列表?xiàng)l件為使用了模板為M 并且X組件的值為Y。2,系統(tǒng)對預(yù)定義文本的條件支持是包含判斷。當(dāng)用戶選擇的模板M中含有標(biāo)題組 件X,用戶在此輸入框中填寫Y值,這樣系統(tǒng)就會自動判斷列表?xiàng)l件為使用了模板為M并 且X中包含Y。3,系統(tǒng)對數(shù)字樹的條件支持是范圍判斷。當(dāng)用戶選擇的模板M中含有標(biāo)題數(shù)字X, 用戶在范圍起始輸入框中填寫“0”,在范圍結(jié)束框中填寫“100”。這樣系統(tǒng)就會自動判斷條 件為使用了模板為M并且,X的值在“0 100”的范圍內(nèi)。當(dāng)被配置的模板和中也含有相 同的數(shù)字X組件,那么可以根據(jù)當(dāng)前值設(shè)定范圍,如“當(dāng)前值-10 當(dāng)前值+10”。當(dāng)用戶設(shè)置了多個(gè)條件,包含指定欄目,指定模板和組件條件設(shè)置,系統(tǒng)將所有設(shè) 置以“AND”的方式進(jìn)行組合。用戶在此可以對分類列表進(jìn)行設(shè)置,即設(shè)置分類列表的上級分類。當(dāng)選中指定的 分類A后,發(fā)布出來的列表就是有分類A的子分類組成。在模板配置中可以對變量(即用一個(gè)名稱代表一段代碼,尤其是用于不同模板的 通用部分,如導(dǎo)航欄等)進(jìn)行配置,網(wǎng)站中相同名稱的變量都是唯一的。在含有變量A的模 板中,設(shè)置A的值后當(dāng)前的網(wǎng)站所有模板中所有A組件的值都統(tǒng)一改變。d步驟中,將組件配置反序列化生成以組件名為鍵的Map,然后在所述Map中填入 上述c步驟中用戶的配置生成的組件值,再將Map序列化后保存數(shù)據(jù)庫中。即將組件的配 置轉(zhuǎn)換成一個(gè)字符串,然后以“Value”為名稱保存成一個(gè)鍵值對,放到組件的配置中。e步驟中,發(fā)布網(wǎng)頁時(shí),取出數(shù)據(jù)庫中的組件配置,并將組件配置解析轉(zhuǎn)換成一個(gè) MAP作為條件,用這個(gè)條件對網(wǎng)頁數(shù)據(jù)進(jìn)行過濾,生成網(wǎng)頁結(jié)果。
權(quán)利要求
一種網(wǎng)頁模板配置方法,其特征在于,包括以下步驟a讀取網(wǎng)頁模板文件,對模板文件的內(nèi)容進(jìn)行分析,將所有的組件從模板中解析出來形成一個(gè)以組件名為鍵的Map,再對Map序列化為組件配置保存在數(shù)據(jù)庫中;b從數(shù)據(jù)庫中讀取組件配置,解析并生成對應(yīng)的組件配置界面,所述組件配置界面至少包括列表組件和變量組件,所述列表組件包括文章列表和分類列表;c用戶在所述組件配置界面操作,用戶可對所述文章列表的所屬欄目和使用模板進(jìn)行配置,用戶的配置生成組件值;d將組件配置反序列化生成以組件名為鍵的Map,然后在所述Map中填入上述c步驟中用戶的配置生成的組件值,再將Map序列化后保存數(shù)據(jù)庫中;e發(fā)布網(wǎng)頁時(shí),取出數(shù)據(jù)庫中的組件配置,并將組件配置解析轉(zhuǎn)換成一個(gè)MAP作為條件,用這個(gè)條件對網(wǎng)頁數(shù)據(jù)進(jìn)行過濾,生成網(wǎng)頁結(jié)果。
2.如權(quán)利要求1所述的網(wǎng)頁模板配置方法,其特征在于,所述步驟c中,如果用戶沒有 設(shè)置所述文章列表的使用模板,則默認(rèn)對模板沒有限制;如果用戶選擇了使用的模板,則將 可以進(jìn)一步設(shè)置過濾條件的組件向用戶列出,供用戶進(jìn)行設(shè)置,當(dāng)用戶設(shè)置了多個(gè)條件,則 將所有設(shè)置以“AND”的方式進(jìn)行組合。
3.如權(quán)利要求1或2所述的網(wǎng)頁模板配置方法,其特征在于,對于各個(gè)模板通用部分, 設(shè)置為變量,變量即用一個(gè)名稱代表一段代碼。
4.如權(quán)利要求2所述的網(wǎng)頁模板配置方法,其特征在于,所述可以進(jìn)一步設(shè)置過濾條 件的組件包括分類、預(yù)定義文本和數(shù)字。
5.如權(quán)利要求3所述的網(wǎng)頁模板配置方法,其特征在于,所述預(yù)定義文本包括標(biāo)題,內(nèi) 容和作者。
全文摘要
本發(fā)明涉及一種網(wǎng)頁發(fā)布技術(shù),具體的說是對靜態(tài)網(wǎng)頁所使用的模板進(jìn)行數(shù)據(jù)配置的方法。一種網(wǎng)頁模板配置技術(shù)包括以下步驟a通過模板導(dǎo)入,將網(wǎng)頁模板的全部信息保存到數(shù)據(jù)庫;b獲得網(wǎng)頁模板配置請求;c分析網(wǎng)頁模板,解析模板中需要配置的組件,并生成對應(yīng)的組件配置界面;d保存模板的配置;e發(fā)布網(wǎng)頁時(shí),根據(jù)模板的配置生成網(wǎng)頁結(jié)果。本發(fā)明的網(wǎng)頁模板配置方法,能夠使模板重復(fù)使用,并實(shí)現(xiàn)可視化配置模板、復(fù)雜條件過濾的功能。
文檔編號G06F17/30GK101968817SQ20101053250
公開日2011年2月9日 申請日期2010年11月4日 優(yōu)先權(quán)日2010年11月4日
發(fā)明者嚴(yán)洪濤, 沈亦可 申請人:上海銀杏界信息科技有限公司