вложение пользовательского элемента формы с тегом формы (drupal 6.x) - PullRequest
0 голосов
/ 30 июля 2010

Я создал пользовательскую форму, используя FAPI для своего сайта. И я размещаю каждый элемент управления в определенном месте на основе шаблона, предоставленного дизайнером. Например -

<div id="myform">
  <span>Enter Your Name : </span> <?php print drupal_render($form['name']); ?>
  <span>Gender : </span><?php print drupal_render($form['gender_radio']); ?>
  ....
</div>
 <?php print drupal_render($form['submit']); ?>

Вот мой вопрос - как мне поместить все элементы в тег формы? Является ли жесткое кодирование тега формы внутри файла шаблона правильным способом в drupal? или лучше создать в hook_form? Но для этого потребуется вручную добавить закрывающий тег формы в конце. Любое предложение будет высоко оценено.
Drupal - 6.x

1 Ответ

1 голос
/ 30 июля 2010

Похоже, вы читали о построении отдельных полей , но пропустили некоторые базовые концепции FAPI. Короче говоря, если вы вызываете форму с помощью drupal_get_form () , вы автоматически получаете контейнер формы (и многие преимущества использования FAPI, например, токены, проверка и т. Д.). Для обработки разметки, которая идет вокруг ваших элементов формы, вы можете использовать # префикс , # суффикс и разметка элементы.

Вы можете собрать всю форму снаружи так же, как вы делаете, но есть несколько случаев, в которых это действительно стоило бы. Если вы действительно хотите это сделать, вы, в основном, хотите скопировать то, что делает drupal_get_form (), чтобы добавить обертку формы, которая будет работать с FAPI.

...