Drupal 7.x

建立內容後跳轉到指定 URL

-
Free tags: 

我突然在需要使用的時候發現我竟然沒有寫下:

Rules 沒有我想要的欄位可以 compare

Rules 原生的 node 欄位只有很少的幾個
例如 created, updated 之類的
但我想比較的是 cck 的欄位呀
一個 checkbox 有沒有選到
一個 node reference 是否為空
一個字符欄位有否包含某些字等等

其實只要先加一個 'entity has field' 的 condition
選你想要比較的欄位
再到 data compare 便會出現你需要的欄位了

又或者更直接的方法是加一個 content is type
選擇你需要的 content type, 但如此的話便必需要是單一 content type 了

話說回來,要在 rules 和 hooks 之間選擇才是真正的困難
相關討論: http://www.drupaler.co.uk/blog/rules-versus-hooks-or-abstraction-shock

Drupal7.x javascript function after ajax - ajax invoke

初探 Drupal 中使用 ajax 之後
使想在 AJAX complete 之後執行一些自定義的 javascript

例如ajax form submit 之後 slideUp form
submit 之後需要修改某些內容

使用的是 ajax callback 的command, 加上 ajax_command_invoke
Form array:

Drupal7 表單內載入 css, js, attach

Edit: 2012-11-07: external css

Drupal7 中以下的代碼是不會達到你想要的效果的

Drupal7 AJAX 提交表單 submit form

Drupal7 原生已經提供一大堆 AJAX 的 API 可以使用
令一些基本的 AJAX 工作變得很簡單,例如

Drupal7 Javascript, once()

-
Free tags: 

once() 是我碰到 ajax submit 的時候第一次使用到
它是一個已經內建到 Drupal 的一個 jQuery 插件
令一個 event 不會 bind 兩次

原意是一條連結觸發 ajax
我bind 了 click event 到增加一個 loading 的 gif
取代 (replaceWith) 的方式將一個 form 更換
因為 replaceWith 之後都會再一次執行 javascript
下一次解發連結便會有兩個 loading gif
可以使用 once() 解決:

Drupal 7 theming a node form

我慢慢發現 content type node form 是繼 exposed views form 之後最常要修改的 form
(我明明有寫過 alter exposed views form, 但找不到...)

特定 content type 本身是沒有 theme function 的
先定義一個,順便定義使用一個 tpl 檔輸出

2012 年 project III http://business-services.scmp.com/

2012 年 project III (project II 仍然為內部使用中)

第一個我製作的使用 Drupal 7.x 的網站
集團內第一個 7.x 網站

因為是第一次使用 7.x 開發
功能上沒有要超越過去的功能的意思
志在將過去在 6.x 的經驗轉移到 7.x 的平台上
還好有這個決定, 否則可能真的會趕不上

一般的設定, 例如 cck都沒有太大的問題
介面都很類似
views 的介面上雖然類似, 但要細心使用額外的功能的話還是要花點時間適應
特別是處理輸出 html 的時候更明顯
新增的 field.tpl.php 和 views 的 field template 時有沖突
處理 node.tpl.php 的時候要細心開始吸收 entity 的概念和 API
再加上為 solr 所用的客制欄位等等

Snapshot: 

Pages

Google