動(dòng)易SiteFactory版模板處理方案與2006比對(duì)(2)
動(dòng)易 SiteFactory 系統(tǒng)中采用的模板處理方案,與之前的06版比較起來(lái),是一套全新設(shè)計(jì)的、基于成熟的 XML+XSLT技術(shù)、用戶可完全自主控制的模板處理方案,它充分釋放了站長(zhǎng)對(duì)自己網(wǎng)站的風(fēng)格、代碼編寫習(xí)慣、數(shù)據(jù)來(lái)源的掌控權(quán)。在制作網(wǎng)站時(shí),站長(zhǎng)們無(wú)需再像06動(dòng)易系統(tǒng)中那樣受制于內(nèi)置標(biāo)簽對(duì)格式的限制,可以自主創(chuàng)建任意風(fēng)格的代碼結(jié)構(gòu),從而使自己的站點(diǎn)的表現(xiàn)更加自由活躍。下面我們對(duì)這兩個(gè)版本的特點(diǎn)進(jìn)行一些比較。
一 模板流程概述:
06版中的模板引擎,解析流程如下圖所示:
該引擎的特點(diǎn)是,標(biāo)簽處理過(guò)程內(nèi)置,使用簡(jiǎn)單,但效果單一,雖然系統(tǒng)已經(jīng)盡可能多的提供了各種參數(shù)來(lái)控制輸出樣式,但畢竟數(shù)量有限,從而影響了網(wǎng)站的表現(xiàn)力和應(yīng)用范圍。
動(dòng)易CMS2007則完全重構(gòu)了這個(gè)部分,流程圖如下:
以下是引用片段: 從圖中可以看出,動(dòng)易 SiteFactory 與06版在模板引擎流程上面的巨大區(qū)別。工作平臺(tái)從ASP轉(zhuǎn)換到了.NET并引入了多層開發(fā)概念的動(dòng)易 SiteFactory 版本,實(shí)際上已經(jīng)演化成了一個(gè)多種數(shù)據(jù)源的綜合處理系統(tǒng)。 |
二 標(biāo)簽樣式:
06版延續(xù)使用了動(dòng)易首創(chuàng)的“函數(shù)式標(biāo)簽系統(tǒng)",基本結(jié)構(gòu)如下:
{$labelname(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10}
像這種樣式的函數(shù)標(biāo)簽,提供很多參數(shù),方便了站長(zhǎng)取得不同的列表內(nèi)容,但它也有一個(gè)弱點(diǎn),就是每一個(gè)參數(shù)的功能、順序位置和參數(shù)的數(shù)量,在編輯模板時(shí),都必須嚴(yán)格按照規(guī)則輸入,不允許有任何的錯(cuò)誤。
以下是引用片段: 動(dòng)易 SiteFactory 版中的標(biāo)簽樣式則改用了符合XML規(guī)范的參數(shù)形式,基本結(jié)構(gòu)如下: {$pe id="labelname" titlelen="10" tip="true" conlen="50" classid="10" target="_blank" /} 當(dāng)所有的參數(shù)都不需要特意指定,使用默認(rèn)值時(shí),您也可寫成: {$pe id="labelname"/} 或者 {$pe titlelen="10" tip="true" conlen="50" id="labelname"/} |
三 標(biāo)簽定義:
06版:系統(tǒng)標(biāo)簽全部都是固化在組件里,雖然用戶可以通過(guò)自定義動(dòng)態(tài)標(biāo)簽,和自定義函數(shù)標(biāo)簽來(lái)定制一些獨(dú)特的效果,但畢竟功能是有限的,不能夠去調(diào)整標(biāo)簽參數(shù)的位置和樣式。
動(dòng)易 SiteFactory :徹底的開放式自定義標(biāo)簽環(huán)境,標(biāo)簽名稱、標(biāo)簽參數(shù)、數(shù)據(jù)來(lái)源、內(nèi)容模板全部都開放給網(wǎng)站制作者進(jìn)行自定義,使用戶可以自主控制標(biāo)簽輸出的每一行代碼。
四 模板存儲(chǔ)方式:
06版:頁(yè)面模板以字符串形式存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi)。
動(dòng)易 SiteFactory :頁(yè)面模板以文件形式存放在硬盤里,用戶可通過(guò)直接上傳的方式進(jìn)行模版的編輯和修改,既方便了使用本地編輯器的用戶,備份和管理工作相對(duì)06版也更加直觀和清晰。
通過(guò)對(duì)網(wǎng)站模版路徑的設(shè)置,可以很方便的對(duì)網(wǎng)站整體風(fēng)格進(jìn)行轉(zhuǎn)換
五 模板編輯器:
06版本的模板編輯,使用了可視化的在線編輯器,通過(guò)右鍵的快捷方式,可以快速的編輯和修改模板和標(biāo)簽代碼,但這種編輯器有一個(gè)重大的弱點(diǎn),就是不夠規(guī)范,它經(jīng)常會(huì)自作主張的修改用戶輸入的源代碼,使其不能符合用戶的要求,舉個(gè)簡(jiǎn)單的小例子:
比如您輸入的標(biāo)準(zhǔn)html代碼為
經(jīng)過(guò)編輯器的分析,它會(huì)自動(dòng)修改為
這種修改會(huì)導(dǎo)致整個(gè)頁(yè)面不能通過(guò) XHTML 規(guī)范的檢查。
動(dòng)易 SiteFactory 在這方面做出了一定的改變,考慮到用戶對(duì)輸出代碼的絕對(duì)控制權(quán),我們放棄了使用在線的可視化編輯器進(jìn)行模板和標(biāo)簽編輯,轉(zhuǎn)而使用純粹的在線代碼編輯器+本地可視化編輯工具相結(jié)合的方案,用戶可以使用DW或其他任何軟件,在本地編輯出滿意的模板文件后,直接上傳到網(wǎng)站后臺(tái)進(jìn)行一下標(biāo)簽添加,就可以使用這個(gè)模板了。
各位可能會(huì)想,后臺(tái)添加標(biāo)簽如果是在源碼方式下,操作很麻煩,還要輸入標(biāo)簽的各種參數(shù),工作量也不會(huì)小的。
實(shí)際上無(wú)須擔(dān)心,動(dòng)易已經(jīng)為我們考慮了這個(gè)問(wèn)題,后臺(tái)雖然是在源碼狀態(tài)編輯的,但象06版一樣,動(dòng)易 SiteFactory 依舊提供了可視化的標(biāo)簽編輯器和拖放式的操作,最大限度的簡(jiǎn)化了模板編輯的難度。
六 數(shù)據(jù)源:
06版:只能使用主數(shù)據(jù)庫(kù)里面限定的表,即便是使用動(dòng)態(tài)標(biāo)簽技術(shù),也無(wú)法脫離主數(shù)據(jù)庫(kù)的范圍。
動(dòng)易 SiteFactory :數(shù)據(jù)源的多樣化,可以說(shuō)是新版版的重要功能之一,脫離了系統(tǒng)數(shù)據(jù)庫(kù)的限制,網(wǎng)站管理人員可以對(duì)使用任意數(shù)據(jù)庫(kù)的系統(tǒng)進(jìn)行數(shù)據(jù)整合,而無(wú)須對(duì)方提供數(shù)據(jù)接口,通過(guò)對(duì)多種不同系統(tǒng)數(shù)據(jù)源的整理,用戶可以把自己的網(wǎng)站建設(shè)成一個(gè)綜合信息查看系統(tǒng),也可以方便的整個(gè)已有的OA等系統(tǒng)。
舉個(gè)例子來(lái)說(shuō),很多企業(yè)內(nèi)部網(wǎng)絡(luò)上運(yùn)行著不同數(shù)據(jù)庫(kù)構(gòu)成的各種應(yīng)用系統(tǒng),比如OA系統(tǒng)、質(zhì)量信息管理系統(tǒng)、設(shè)備管理系統(tǒng)等等,通過(guò)動(dòng)易CMS2007版的多數(shù)據(jù)源讀取功能,我們可以將這些系統(tǒng)中的大部分信息讀入到網(wǎng)站系統(tǒng)里,處理后輸出到同一個(gè)頁(yè)面。這樣,網(wǎng)站用戶就可以通過(guò)網(wǎng)站中統(tǒng)一的界面對(duì)這些數(shù)據(jù)進(jìn)行查看,而不必依次登陸到各個(gè)系統(tǒng)中去,簡(jiǎn)化了管理人員對(duì)數(shù)據(jù)的閱覽方式,提高了效率。
七 分頁(yè):
06版:只有在允許分頁(yè)的頁(yè)面里,使用分頁(yè)標(biāo)簽進(jìn)行分頁(yè),且分頁(yè)樣式單一,只有中英文各一種標(biāo)簽,用戶不能自行修改標(biāo)簽樣式。
動(dòng)易 SiteFactory :引用了類似于VS2005開發(fā)工具提供的分頁(yè)概念,任意頁(yè)面中,只要添加一個(gè)分頁(yè)標(biāo)簽,并為其指定數(shù)據(jù)源標(biāo)簽,就可以實(shí)現(xiàn)頁(yè)面分頁(yè),在同一頁(yè)面中,用戶還可以添加其他不同樣式的分頁(yè)標(biāo)簽,它們都可以正常工作,且互不干擾。
以下是引用片段: 通過(guò)Ajax技術(shù),動(dòng)易 SiteFactory 還實(shí)現(xiàn)了同一頁(yè)面多分頁(yè)標(biāo)簽并存的效果,甚至可以進(jìn)行分頁(yè)標(biāo)簽的嵌套顯示。同時(shí),每個(gè)分頁(yè)的樣式都可以在后臺(tái)自行選擇和編輯,可以這樣說(shuō),動(dòng)易CMS2007版本的分頁(yè)功能,在同類系統(tǒng)中達(dá)到了一個(gè)史無(wú)前例的新高度。 |
下圖是動(dòng)易 SiteFactory 實(shí)現(xiàn)的同頁(yè)面多分頁(yè)標(biāo)簽并存的示例,其中紅框標(biāo)出的分頁(yè)標(biāo)簽都能對(duì)自己的數(shù)據(jù)源標(biāo)簽進(jìn)行分頁(yè),且互不干擾:
八 可編程
06版:不存在編程的問(wèn)題,模板中只能使用JavaScript代碼,而不能使用其他任何的服務(wù)器端程序語(yǔ)言,這成了二次開發(fā)最大的屏障。
動(dòng)易 SiteFactory :標(biāo)簽?zāi)0蹇梢允褂肅#,VB, JavaScript和標(biāo)準(zhǔn)的XSLT語(yǔ)句,對(duì)數(shù)據(jù)進(jìn)行處理輸出,下圖中就是同時(shí)在標(biāo)簽編輯器里使用三種不同程序語(yǔ)言的示例:
動(dòng)易 SiteFactory 的程序編輯,還注重了方便快捷,我們提供了很多常用的內(nèi)置方法,最大程度的簡(jiǎn)化了編程的難度:
九 標(biāo)準(zhǔn)化
06版:使用動(dòng)易自創(chuàng)的標(biāo)簽樣式,和循環(huán)處理格式,對(duì)于非動(dòng)易用戶來(lái)說(shuō),需要進(jìn)行專門的學(xué)習(xí)才可以使用。
動(dòng)易 SiteFactory :標(biāo)簽樣式引入了XML規(guī)范,屬性命名清晰,無(wú)須查找用戶手冊(cè)即可準(zhǔn)確的知道標(biāo)簽中每一個(gè)參數(shù)的功能和作用。標(biāo)簽編輯語(yǔ)法嚴(yán)格符合XSLT規(guī)范,由于XSLT是W3C確認(rèn)的國(guó)際規(guī)范,用戶無(wú)須對(duì)動(dòng)易系統(tǒng)進(jìn)行特殊學(xué)習(xí),即可上手使用。即便用戶需要重新學(xué)習(xí)XSLT語(yǔ)法,也不會(huì)造成知識(shí)的浪費(fèi),學(xué)會(huì)了XSLT,也就等于掌握了一門可以通行于XML世界的技能,而非動(dòng)易專有的知識(shí),開發(fā)人員即便脫離動(dòng)易系統(tǒng),這種技能依舊可以發(fā)揮重要的作用。
十 結(jié)束語(yǔ)
總的來(lái)說(shuō),動(dòng)易 SiteFactory 使用的模板處理方案相對(duì)于06版,是一個(gè)比較大的飛躍,我們秉承著“自由、開放”的原則開發(fā)的這款引擎,將引導(dǎo)CMS行業(yè)的整體設(shè)計(jì)概念發(fā)生轉(zhuǎn)換,從簡(jiǎn)單的網(wǎng)站管理系統(tǒng),進(jìn)化為多功能、高性能的數(shù)據(jù)綜合顯示系統(tǒng)。
用戶登錄
還沒有賬號(hào)?
立即注冊(cè)