1)自定義字段是否可選擇是否存在主表還是副表?
PHPCMS2008和DEDECMS的自定義字段只能添加到副表中,帝國CMS自定義字段則可選擇是添加在主表中還是副表中,這樣的好處在于,自定義字段可以方便作為數(shù)據(jù)調(diào)用條件和查詢條件和在文章列表中調(diào)用,而如果單純只加在副表中,一旦涉及到數(shù)據(jù)聯(lián)合查詢,效率會低很多,并且即使是簡單的標(biāo)題+摘要+自定義字段顯示的文章列表中都非得多表聯(lián)合查詢,人為增加SQL查詢復(fù)雜度,降低效率。很典型的問題是在涉及到聯(lián)動篩選的情況時,自定義字段如果不能選擇存儲在主表中,會人為制造非常大的麻煩。
\
如上圖所示的帝國cms批量更新 ,聯(lián)動篩選字段(帝國CMS和DEDECMS中稱作結(jié)合項),如果是想要用PHPCMS2008和帝國CMS來自定義,售價、面積、戶型等自下義字段,只能添加在副表中,結(jié)果是非常痛苦的,每個條件的查詢都要主表和副表同時查詢,并且查詢條件分期在主表中和副表中時,要同時滿足條件,非得join查詢。 如果涉及排序等,更是頭痛,反正是人為自找麻煩。如果能選擇直接把字段字義表主表中,這樣,這類數(shù)據(jù)量存儲不大的字段,不會明顯增加主表的負(fù)擔(dān),但查詢和讀取都直接是單表操作,非常方便。帝國CMS中這點做的比較不錯,并且有提供了單獨的結(jié)合項功能帝國cms采集軟件。DEDECMS中貌似也有結(jié)合項功能,適用于多條件篩選的情況。
所以,這一點,帝國CMS>DEDECMS>PHPCMS。
2)字段的權(quán)限設(shè)置
有些字段,只希望在管理員或者編輯人員在編輯信息時才能設(shè)置,普通用戶不給設(shè)置權(quán)限,這就需要給自定義字段一個完整的權(quán)限系統(tǒng)帝國cms軟件采集。這一點PHPCMS 中做的非常不錯,可以直接能過勾選“不允許設(shè)置該字段值的會員組”的選項來實現(xiàn)。帝國CMS中最后一步“系統(tǒng)模型建立”中“可增加”、“可修改”這幾項似乎有權(quán)限設(shè)置的影子,只是實現(xiàn)了部分權(quán)限功能,而DEDECMS中則沒有看到明確的字段權(quán)限設(shè)置選項。
所以,這一點PHPCMS>帝國CMS>DEDECMS。
3)不在前臺投稿中顯示
有些時候設(shè)置某些字段,雖然普通會員也可以有給他賦值的權(quán)限,但是不需要或者不想在前臺投稿中顯示(如摘要等,有時候想簡單點,只讓用戶發(fā)個標(biāo)題和內(nèi)容),所以很需要實現(xiàn)某個自定義字段只在后臺編輯時可以填寫,而在前臺投稿界面中不自動顯示。關(guān)于這點,在PHPCMS中只需設(shè)置“是否在前臺投稿中顯示”項為否即可帝國cms批量更新文章,DEDECMS中字段選項中“前臺參數(shù)”項中的“前臺投稿及采集規(guī)則禁用本字段”亦實現(xiàn)了這一需求,至于帝國CMS中,可以通過系統(tǒng)模型設(shè)置是否為錄入項實現(xiàn),但似乎不夠直觀。
有時候,在使用PHPCMS自定義字段時,不希望字段在前臺投稿中顯示的另一個原因是,想對添加的一部分字段的表單樣式作單獨的修改或者作一些JS 處理,PHPCMS內(nèi)置的字段樣式不太夠用或者不太方便,所以在設(shè)置字段時選擇不在前臺投稿中顯示,然后在模板中按需求手動添加這個字段的表單項,這一點在DEDECMS中有自定義表單HTML項,不需要像PHPCMS中這樣變相實現(xiàn)字段HTML項的定義,帝國CMS中添加自段時有提供定義前臺后臺錄入數(shù)據(jù)表單HTML的設(shè)置項,但他同時寫出了提示“增加字段時請留空”,這個做法不太理解帝國cms批量助手 ,不過,他在進(jìn)行系統(tǒng)模型定義的最后一步可以統(tǒng)一設(shè)置每個字段的前后臺數(shù)據(jù)錄入界面表單HTML。不過,DEDECMS和帝國CMS中的字兩項設(shè)置對普通新手用戶可能反而帶來疑惑,對熟悉二次開發(fā)的倒是挺方便的。
從這個小點來看,普通用戶PHPCMS>DEDECMS>帝國CMS,二次開發(fā)DEDECMS>帝國CMS>PHPCMS。
關(guān)于帝國CMS、PHPCMS、DEDECMS這三款CMS自定義模型功能,實際還有很多值得對比分析的地方,都各有優(yōu)缺點,實現(xiàn)應(yīng)用中總會有感覺很爽的地方,同時也會有很糾結(jié)的地方,在這些方面我是深有感觸的帝國cms批量上傳助手。
文章地址:http://www.meyanliao.com/article/diguo/nmzskCMSzdzdsxynxcy.html