2010-05-11 39 views
4

我試圖爲hook_form_alter中的Content Taxonomy字段設置默認值,但無法確定必要的格式。我試過這個和很多變化:具有分層選擇部件的Drupal中的Content Taxonomy字段的默認值

foreach (element_children($form) as $child) { 
// Set $default_value. 

    if ($form[$child]['tids']) { 
// This, for Content Taxonomy fields, isn't working: 
    $form[$child]['tids']['#default_value'] = array('value' => $default_value); 
    dsm($form[$child]['tids']['#default_value']); 
    } 
    else { 
// This, for other fields, is working: 
    $form[$child][0]['#default_value']['value'] = $default_value; 
    } 
} 

任何人都可以告訴我我失蹤了什麼嗎?

編輯: 針對亨裏克歐寶(感謝介入),這裏是打印出來與我的變更註釋掉默認字段的形式在相關領域,顯示了「#default_value」字段我試圖影響。

它也顯示我正在使用的選項小部件是分層選擇(這可能是一個因素?)。在上述代碼中的dsm()中,可以識別對默認值的更改,但以後不會處理它們。

field_name_of_content_taxonomy_field (Array, 3 elements) 
    #tree (Boolean) TRUE 
    #weight (String, 1 characters) 5 
    tids (Array, 7 elements) 
    #title (String, 10 characters) Vocabulary_name 
    #type (String, 19 characters) hierarchical_select 
    #weight (String, 1 characters) 5 
    #config (Array, 15 elements) 
     // 15 elements here 
    #required (String, 1 characters) 0 
    #description (String, 0 characters) 
    #default_value (Array, 0 elements) 

回答

3

原來答案是在文檔中: http://drupal.org/node/319190

我改名的問題講清楚問題出在哪裏了。這將問題縮小到一個相當具體的用例,但Content Taxonomy和Hierarchical Select是用於處理大型分類法的有用和推薦的模塊。

1

(注:假設Drupal的6這裏)

望着一個地方例子,我的內容分類字段不具有「TIDS」屬性,但我只用型「optionwidgets_buttons」的領域,所以如果你使用其他的widget類型,這可能會有所不同。您可以從您嘗試操作的表單發佈內容分類標籤字段結構的轉儲嗎?

另一方面,Content Taxonomy字段在窗體/節點處理中稍後將標準分類數組格式轉換回標準分類數組格式,這可能會影響到您。那麼你的問題是,你對初始值顯示的默認值的更改根本沒有顯示出來,或者它們顯示,但以後不會處理?


編輯(問題更新後):對不起,遲到的答覆。我不確定,但看着你的字段定義,類型顯示爲hierarchical_select,這將暗示在「獨立」分層選擇小部件上。當與內容分類法結合使用時,來自'hs_content_taxonomy'子模塊的代碼會讓我期待一種類型的content_taxonomy_hs。這只是猜測,我沒有時間在本地正確測試,但您可能需要檢查是否使用了正確的模塊組合/配置。

另一件事是檢查你的模塊的權重設置與層次選擇模塊(s) - 也只是一個瘋狂的猜測,但也許你需要發生變化之前/之後/層次選擇做其魔術,所以你可能想要在模塊上測試調整後的權重。

+0

感謝您的跟進。事實證明,文檔已經預料到我的困惑,我已經添加了一個答案,指出那裏的任何人。 – lazysoundsystem 2010-06-01 02:34:06

相關問題