我想通過一個暴露的表單過濾器上的選擇列表來循環,並隱藏我不需要的術語。如何使用form alter獲取Drupal中選擇選項的值?
隨着我的選擇框被稱爲TTD-TID我想:
foreach ($form['ttd_tid']['#options'] as $tid => $term){
if (in_array($tid,$child_terms_tids)){
//leave it
}else{
//remove it
unset($form['ttd_tid']['#options'][$tid]);
}
}
但是$ TID是不是選項值。這似乎是伯爵。
我試圖 的foreach($形式[ 'ttd_tid'] [ '#選項'] [ '選項']爲$ TID => $項){
但是,這也不能工作。
本質上,我需要將選項的值與數組進行比較並隱藏它。我似乎無法得到它的工作,因爲$ tid似乎是另一個數組。
我$形式陣列看起來像這樣
陣列([#info] =>數組([濾波器-field_things_to_do_tags_tid] =>數組([操作] => field_things_to_do_tags_tid_op [值] => ttd_tid [標號] = >要做的事情Tags [description] =>)[ttd_tid] => Array([#type] => select [#options] => Array [[All] => - Any - [0] => stdClass Object )[] => stdClass Object([option] => Array([63] => -Theme Parks))[2] => stdClass Object([選項] => Array([611] => -Water Parks))[3] => stdClass Object([option] => Array([612] => Arts,Culture & History))[4] => ([option] => Array([1] => -Architecture & Landmarks))[5] => stdClass Ob ject([option] => Array([30] => -Galleries))[6] => stdClass Object([option] => Array([32] => -History & Culture))[7] => stdClass對象([選項] =>數組([83] => -Museums))[8] =>,等等等等
謝謝您的回覆[UND]沒有工作。我也粘貼了上面的表單結果。 $ form ['ttd_tid'] ['options'] ['All'] ['option'] and $ form ['ttd_tid'] ['#options'] ['option']] 但沒有喜樂。 –
每個值都在一個名爲'option'的對象內,因此您需要在in_array函數中使用'option'的值 – pete80
謝謝Pete! –