2010-02-25 4 views
2

я заметил, формы "story_node_form" или "node_form" формируются так: форма-> div-> div-> Div-стандарт + Div-админ + submin кнопкаdrupal_render: как создать хорошо сформированную структуру div формы?

Мой пользовательский тип содержимого не сформирован этот путь:

  • У меня есть 49 флажков. Я поместил их drupal_render() в таблицу, как здесь: http://eugen.gotdns.com/test/zeitplaner.png

  • После этого я сделал drupal_render ($ форма), чтобы сделать остальную часть формы

Проблемы:

1) Моя созданная таблица находится в верхней части формы, как я могу ее переместить?

2) Как я могу поместить свой стол в группу разборки?

3) Почему кнопки отправки и предварительного просмотра находятся в верхней части формы ниже моего стола?

ответ

1

Поскольку вы визуализировали свою таблицу, тогда остальная часть формы действует так, как ожидалось, тогда как если вы разместите ее в массиве $ form с соответствующим весом, она будет отображаться там, где ожидается только одна drupal_render ($ форма).

Что касается складной группы, вы хотите, чтобы обернуть элементы формы в складном FIELDSET, например, так:

$form['wrapper-id'] = array(
    '#type' => 'fieldset', 
    '#title' => t('title'), 
    '#collapsible' => TRUE, 
); 
$form['wrapper-id']['yourstuff'] = array(
    // Your stuff 
); 

Для получения дополнительной информации об изменении формы, обратитесь к документации по API Формы: http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6

+0

, чтобы поместить незагруженные флажки в таблицу, я вижу только один путь: префикс и суффикс. Что вы думаете об этом комментарии: http://stackoverflow.com/questions/2312668/modificate-content-profile-form-to-show-checkboxes-in-the-matrix Во-первых, идея заключалась в использовании префикса и суффикс, но затем придет другая идея, чтобы отобразить элементы в таблице. – EugenA

+0

Что бы я делал в этой ситуации, обычно создавайте форму, группируя флажки, а затем разбирайте их в своей теме. Хорошим примером тяжелой таблицы checkbox будет страница разрешений, поэтому отследите в коде, как это делается там. – Decipher