2012-07-26 62 views
0

我在寫一個模塊,其中包含一堆按鈕的字段集使用hook_form_alter被添加到編輯/添加節點窗體中。Drupal:#weight和forms

字段(按鈕)應該連接到某個字段的某個控件。例如,可能是內容類型爲「myContentType」的body字段小部件。我總是希望字段的fieldset和小部件放在窗體中,最好是在小部件上面放置fieldset。所以爲了達到這個目的,我想我會使用表單元素的#weight屬性。

所以在hook_form_alter我設置:

$form['buttonFieldset'][#weight] = $form['body']['#weight'] - 1; 

事後我檢查$形式數組和按鈕字段的重量沒有得到設定的權重比一個相關聯的部件更小。我認爲這會把它放在身體的文字區上方,但是這沒有發生。有誰知道爲什麼不呢?或者其他方式來實現我想要的?

回答

0

嘗試將您的fielsdset權重設置爲正文字段的權重,並將列表中的正文字段移到較低的位置。所以:

$form['buttonFieldset']['#weight'] = $form['body']['#weight']; 
... 
$form['body']['#weight'] = $form['body']['#weight'] + 1; 

這工作,特別是如果你立刻擁有上述體領域的標題Drupal的似乎並不喜歡,儘管改變#weight它移動的標題字段。我無法將title向上移動以便在titlebody之間插入某些東西,但我可以將body向下移動。