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