國外的cms用過了幾個,以前用Joomla!幫客戶做過幾個站,感覺方便,輕易上手,module也很多,不過很少去看代碼,究竟是為了完成客戶的需要,現在公司里面主要是做drupal,才開始研究它的代碼,有人把drupal比作是一個操作系統,而module相當于應用軟件一樣,你需要什么功能,都可以通過module來完成,在drupal在二次開發上,程序員不需要去改動drupal的核心代碼,完全可以通過hook來完成,任何你想動態修改的地方,都有相應的hook來完成。
比如你想修改某一個form表單的數據(找到相應函數的名稱,一般為module_name_form 命名,),我們可以通過 module_name_alter和他們module_name_xx名稱的函數來對表單數據修改.我們添加數據類型表,可以交給cck module來完成,對數據字段的類型定義,而在提交的時候,cck都會幫我們完成.
對我們用戶來說,更多的是關心頁面的展示,drupal默認只有page,book,story,我們可以填加類型數據,但對默認頁面展示出來的效果,真的是很糟糕,但有view module來幫我們重新定義樣式或者是css,drupal數據層和表現層,并沒有完全的分離,雖然很多地方我們都可以通過定義template來完成,但很多時候,我們也需要用到模板目錄下的template.php文件來幫我們完成.
drupal的模板,確實是個難點,很難上手,template文件很少,drupal答應我們自己定義自己熟悉的模板引擎,在數據庫操作方面,也方便了很多,我們不需要寫出具體的sql語句,而是告訴drupal要查詢的表,和查詢的條件就可以,sql語句它會幫我們做好,在我們升級drupal的時候,我們只需要升級drupal的核心文件就可以,而不需要對module做相應的升級(除非有非凡說明)優點很多,我不能一一說明,很多東西我也剛接觸,也不是很了解,drupal的module很多,而且官方把這些常用的module做了整理,并加具體的說明,
缺點:
門檻太多,很多人用了一個月還是摸不著頭腦, 默認的homepage真的是難看而且簡單
對于數據量大的站來說,node表成了一個瓶勁(至少我是這樣認為,因為每加一條記錄,node表里面都有相應的信息)
新聞熱點
疑難解答