Drupal 7.x

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/

Snapshot: 

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 所用的客制欄位等等

list_allowed_values() taxonomy_allowed_values()

查找一個選單的欄位的可選項 Get display values of a dropdown list
Drupal 6 使用比較間接的方法才可以拿到 field 的所有可能值
而 Druapl 7 便可以使用 list_allowed_values()
完成相同的工作, example:

templates 內的欄位值 field_get_items()

打開 node.tpl.php 的時候你便可以發現,
Drupal 7 的多語言支持轉移到以欄位為基礎
在預設的情況之下欄位值都放在 "und" 之內
代表沒有指定的語言
但如果代碼直接使用 und 的話
之後打開多語言設定便會令 templates 出現錯誤
所以便要使用 field_get_items() 來獲得正確的語言欄位值了

ref:
http://www.davereid.net/content/hlkd7fotw-field-get-items

Pages

Google