濮阳杆衣贸易有限公司

主頁 > 網(wǎng)站建設(shè) > 建站知識 > 帝國、PHPCMS及織夢對比:聯(lián)動類別屬性

帝國、PHPCMS及織夢對比:聯(lián)動類別屬性

POST TIME:2017-11-13 00:50

在使用CMS套站時進行欄目結(jié)構(gòu)規(guī)劃時常遇到這樣一種情況:每個欄目下想再細分一些類別,如果以欄目的形式添加,很多欄目下都會有這些重復(fù)的類別,這樣一來就導(dǎo)致很多重復(fù)和欄目。所以需要考慮直接在字段屬性類別的方式來添加,發(fā)文章時直接選擇類別來給文章歸類。不知道站長朋友們實際處理過程中有沒有遇到這樣的問題,但落葉確實感受挺深了,在涉及醫(yī)療性質(zhì)的站點時,每個疾病病種下面有多個子病種,然后子病種的文章類型又分為病因、癥狀、診斷、治療、預(yù)防、科普、建議等等,每個欄目的文章基本都需要分這些類別,如果以子欄目的形式添加,50個子病種就要多添加300多個子欄目,這樣不管是對網(wǎng)站結(jié)構(gòu)還是 SEO來講都是災(zāi)難,所以這個時候“類別”字段顯得比較重要。

不同的CMS基本都有內(nèi)置或者提供類別設(shè)置的功能,只是表現(xiàn)形式不同,設(shè)計細節(jié)不同,擴展靈活性也不同,本文中落葉擬對PHPCMS、帝國CMS及織夢CMS中的類別這點作一些細節(jié)性對比。

織夢CMS:

DEDE中沒有很明確的類別功能,可以變相實現(xiàn)的體現(xiàn)方式是”自定義屬性”,在自定義屬性中多添加幾個屬性,發(fā)布文章時,勾選這些屬性,然后調(diào)用時按照這個屬性分類進行調(diào)用即可。

類似下圖的最后一項:

想法貌似不錯,于是找DEDE添加自定義屬性的地方,然而結(jié)果似乎不是那么順利。

一句“為了數(shù)據(jù)安全起見不允許用戶增加其它類型”,那么對于普通用戶,如果非要實現(xiàn),那只有修改DEDE內(nèi)置的屬性名稱來變相實現(xiàn)了,如把“頭條” 改為“病因”,“推薦”改為“癥狀”,但這樣的結(jié)果是失去了原有的“頭條”和推薦功能。自定義文檔屬性結(jié)果發(fā)現(xiàn)是沒辦法自定義的。不好意思,遇上落葉這樣死鉆的人還真不相信你所說的安全問題,事實上增加一個自定義屬性,也沒有什么安全的,直接在數(shù)據(jù)庫中修改吧。

DEDECMS的自定義屬性記錄在dede_arcatt數(shù)據(jù)表中的,直接在PHPMYADMIN中可視化插入幾個自定義屬性:

這樣似乎就夠了,但實際,DEDECMS中文章表中調(diào)用自定義屬性的字段類型采用的是set類型,那里采用了白明單,限制了允許使用的att屬性,所以仍需要修改文章表dede_archives中的flag字段,按格式增加剛剛添加的三個屬性的att值,即如下:

這樣,在發(fā)布文章的表單處自定義屬性一欄就顯示出了剛添加的一些屬性,發(fā)布文章時勾選,前臺調(diào)用,使用flag=”m”即可調(diào)用癥狀類別的文章了。

{dede:arclist row="10' titlelen='24' orderby='pubdate' flag=’m’}

[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])

{/dede:arclist}

這里需要注意的是,因為DEDE的flag標簽解析后是采用like查詢,上圖中添加的by其實是不正確的,可以使用多字母,但是首字母不要有重復(fù),如上圖中所示的,使用flag=’b’來調(diào)用加精的文章時,by類別的文章也會被調(diào)用出來。

當然DEDECMS中也可以自定義一個選項自段來實現(xiàn),通過添加“使用radio選項卡”或“Checkbox多選框”,然后在默認值處填寫被選擇的項目來實現(xiàn)亦可,只是因為這里DEDE自定義字段只能添加在副表中,調(diào)用時需要關(guān)聯(lián)查詢,效率會低些,一般不建議這樣做。

自定義字段設(shè)置:

內(nèi)容發(fā)布表單界面顯示的自定義類別字段:

這樣可以變相實現(xiàn),只是在調(diào)用時,不方便把附加字段作為調(diào)用條件,需要使用DEDE的SQL標簽聯(lián)合查詢才行,效率稍低,也不太方便。

PHPCMS:

PHPCMS模板中內(nèi)置了字段類型,文章模型中默認沒有開啟,在系統(tǒng)設(shè)置->模型管理中的字段管理中開啟類別字段。

然后在系統(tǒng)管理->相關(guān)設(shè)置->類別設(shè)置中添加類別:

添加文章里即可在使用類別選項來對文章歸類了:

前臺調(diào)用使用TAG標簽或GET標簽調(diào)用即可。如果使用TAG標簽則只需要在后臺模板管理處可視化選擇類別類型生成TAG標簽即可方便實現(xiàn)調(diào)用。

如果是GET標簽,則直接在SQL語句中加下typeid=’類別ID數(shù)字’可也。

帝國CMS:

帝國CMS默認沒有類別字段,不過亦可以通過自定義字段的形式添加,帝國的優(yōu)點在于自定義字段可以添加在主表中,這一點非常不錯,在新聞數(shù)據(jù)表模板中添加一個typeid字段:

選擇添加在主表中,然后在“管理系統(tǒng)模型”中修改系統(tǒng)模板開啟,在錄入項中顯示該字段即可在文章發(fā)布表單中顯示了:

前臺數(shù)據(jù)調(diào)用則需要使用萬能標簽或靈動標簽中寫SQL語句來調(diào)用了,條件為typeid=”病因”,條件中需要寫漢字,這點不太爽。

總體分析來看,類別功能不是什么大功能,只是增加一個關(guān)聯(lián)自段,方便數(shù)據(jù)分類,不同CMS中都可以變相實現(xiàn),但總體來看還是PHPCMS默認設(shè)置了該字段,無論是類別自定義添加還是前臺調(diào)用都方便些。從普通用戶來講,同是需要使用SQL來調(diào)用,帝國則比織夢稍方便些,因為他自定義的字段顯示在主表中了。



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
吉安市| 中西区| 凤阳县| 濮阳市| 通河县| 福鼎市| 抚松县| 安化县| 丰台区| 恩施市| 开鲁县| 海兴县| 昌图县| 大化| 苏尼特右旗| 鸡东县| 封丘县| 江津市| 平山县| 尚义县| 花莲县| 平度市| 庄浪县| 镇宁| 莒南县| 吉林省| 永嘉县| 封丘县| 秦皇岛市| 华宁县| 禄丰县| 庆城县| 清水河县| 沙雅县| 保康县| 左贡县| 太和县| 南安市| 巴楚县| 泰顺县| 思茅市|