您在這裡

關於Drupal Theming的一些心得(D5)

hanamizuki's 的頭像
hanamizuki 在 2008-10-15 (三) 12:00 發表

hi, 心得抱怨文又來了。
原文在此:http://hanamitsuki.com/drupal/drupal-theming/

本篇純為試用Drupal 5之後,對於客製化佈景的感想。

因為Theme API的關係,我一度以為Drupal在Theming上面是非常富於彈性的。不過在真的試圖實作之後,發現,他真的,不是那麼好用。

彈性越大、頭越大

當然不能說沒彈性,Drupal在主題(Theme,或說模版、佈景)設計這部分,彈性是非常之足夠的,但問題是,彈性太大,所以變得門檻很高,很容易就搞得頭很大。

比方說,要修改個區塊的output,必須去看這個區塊是哪個模組搞出來的,然後去看那個模組的原始碼,看看生成這個區塊的function是啥,output是哪個theme function,再去找到theme_開頭的function,然後複製到自己的theme資料夾裡的template.php,再做改寫。

這樣算簡易了。但是,如果這個theme原始的內容並不是這麼好懂,你還必須沿著這個function裡面的其他theme function或其他和輸出有關的function(如tapir)去追追追,追到最後,乾脆直接重寫,但是又不知道有哪些變數可以用,一般網頁設計師,也很難去懂得如何用node_load()一類的東西去把一個節點變成物件,步驟之繁瑣,真的是會搞死人。

陡峭的學習曲線

當然,Drupal的學習曲線本來就是陡峭的,就算買了厚厚一本Pro Drupal Development,能夠懂得也不過就是模組寫的規則、核心運作方式而已。真的要把一堆模組交叉應用,把佈景完整客製化,真的是非常不容易的一件事。

Are We Near Theming Nirvana?

所以前天看到這篇簡報,真是有點心有戚戚焉。

照這個簡報講的,到了Drupal 6,應該會好很多吧!真是期待。

還是很愛Drupal

其實小妹摸索Drupal也沒有很久,許多事情都不懂,也許有更快的方式做theming?或是說,習慣就好?

因為我本身並不是程式設計出身,對PHP、Mysql其實非常不懂,我充其量就是網頁設計,而且還是個連javascript都不太會寫的網頁設計。喜歡玩CMS純粹是覺得這種東西容易有成就感,因為,可以用比一般開發短的時間,做更多的東西。但是,要能靈活運用並做好整合,不一定真的比純手工開發容易,只是苦的是,客戶、業主都會以為「用CMS太容易」所以要求越來越多,真是啞巴吃黃蓮。

你说得很对。我现在就觉得Drupal的Theme做得不灵活。设计给的页面,我很难把它和Drupal结合起来。
感觉用Drupal可能只能用它原有的风格,顶多再此基础上做一些修改。如果先设计,再用Drupal搭建,那样很费力气
可能是自己学艺不精吧

我是認為,做theme本就是一件很艱深的學問,別把theme簡單化了
專業的網站製作就知道,通常這種事情在大公司,是分成三種職務在做的

需要會1. 畫畫,而且是針對Web的Design,和UI配置
需要會2. front-end implementation 的能力,你看Yahoo等或是國外的網站,都會徵front-end developer,就是CSS/ JS工程師
需要會3. PHP programmer,真正的function開發者,通常製作成套的功能

一種人要會三種人的東西,本來就是會有學習曲線的問題... 所以要說Drupal難... 這三個都會,本來就很少人吧...

而且好的front-end developer需要會
1. cross browser, IE/FF/Opera/Safari/Google(CSS和javascript夠強嗎?)
2. ie6 png大挑戰
3. bandwidth,設計的人有沒有把bandwidth考量進去?
4. 與後台結合,就是與function的搭配。做設計的,有沒對region有點概念?
對Drupal怎麼從後台調整有概念?就算不用drupal,其他CMS/Blog後台調整有概念嗎?

所以呢,最近也深感這些東西重複撰寫太麻煩,
survey過Zen和其他各大版型開發的東西,都覺得不夠好用簡單
便開發了一套D5的theme,可以用50行css瞬間完成想要的sub-theme...
有些東西會漸漸release出來
看來也是該辦聚會的時候了
--
from open mind to open source~

--
from open mind to open source~

對啊 ^^

網站對 theme,內容管理以及功能都要蒹顧的需求,用 Drupal 開發是要懂很多的技術和原理。對於終端用戶來講,多少也要有一些基本操作和內容管理的概念,以及體認、評估用 WEB CMS 所帶來的效益和價值。

相對於內容管理、功能需求幾乎沒有的網頁,就不要用 CMS 吧~ 用文字編輯器寫寫改改就好,這樣子有用的話也很好啊。