Визуализация элемента формы без формы получения drupal?


Я пытаюсь отобразить элемент простой формы без сопутствующих тегов и других преимуществ drupal (проверка и т. Д.). Возможно ли визуализировать элемент формы с использованием методологии api формы, но без запуска его через drupal_get_form?

 1
Author: mpaler, 2013-02-26

2 answers

Я никогда этого не делал, я не понимаю, зачем это кому-то нужно, и я не могу рекомендовать этот подход, но... вы можете попытаться определить элемент формы, откопав значения по умолчанию, добавив некоторые свойства и передав его в render().

В коде это выглядело бы примерно так:

$element = element_info('textfield');
$element['#title'] = 'Type something';
$output = render($element);

Что приводит к:

<div class="form-item form-type-textfield">
  <label>Type something </label>
  <input type="text" size="60" maxlength="128" class="form-text" />
</div>

Похоже, это работает для простых элементов формы, таких как текстовое поле. Он, несомненно, сломается для более сложных типов, таких как флажки или поля даты. Надеюсь, что помогает.

 0
Author: marcvangend, 2013-02-26 20:51:55

Вы можете встроить for в файл шаблона, например, с помощью drupal_render_form() в D6 или drupal_render_children() в D7. Смотрите эту проблему сообщества .

Вам все равно придется каким-то образом получить массив FAPI, обычно вы все еще используете drupal_get_form() для получения массива $form.

 1
Author: tenken, 2013-02-26 20:37:28