CCK fields hook_form_alter CCK 欄位的修改

如果大家一直都有看我的 blog
相信都對使用 hook_form_alter() 很熟識
修改, 新增各種說明文字是小菜
將整個表單完全改頭換成志玲一樣美都沒有難度

這次是修改 CCK 的欄位
一個日期的欄位, 只是很簡單的需要多一點說明的文字,
再組合兩個日期
但我發覺 hook_form_alter 的 $form是沒有 CCK 的欄位的
因為 form API 的流程還沒有經過 CCK
所以需要延後處理$form
form API 的 #after_build 正是為這而設

<?php
function joe_form_alter(&$form, $form_state, $form_id) {
 
$form['#after_build'][] = 'joe_after_buid_callback';
}
function
joe_after_buid_callback($form, &$form_state) {
 
//這邊就可以修改 CCK 的欄位了
 
$form['field_start_date']['#description'] = 'WOo wOo';
  return
$form;
}
?>

更多資訊: http://drupal.org/node/726282

Google