Вы здесь

Как программно добавить в начало вебформы определённый код?

0

Для формы пытаюсь вставить заголовок в начале формы, переданный через $_GET. Делаю так:

      if (isset($_GET['title'])) {
        $form['subtitle'] = array(
          '#markup' => t($_GET['title']),
          '#prefix' => '<div id="subtitle">',
          '#suffix' => '</div>', 
          '#weight' => -15,

        );

Но на значение веса никак не реагирует, стоит после полей формы, перед сабмитом.

Версия Drupal: 
7.x
Категория: 
Form API
Связанные проекты: 
Webform
Вопрос задан 05.11.2016 - 13:07

'#markup' => t($_GET['title']),

Так вам сайт поломают.

Комментарий оставлен 05.11.2016 - 14:49

Да как-то не подумал. А есть в Друпале функция для вывода безопасного значения? Можно еще ограничить длину выводимой строки, печатать если длинна строки не больше символов 30.

Комментарий оставлен 05.11.2016 - 17:41

Спасибо. Воспользуюсь.
А как все-таки передвинуть мой заголовок в начало формы, или перед формой?

Комментарий оставлен 07.11.2016 - 11:41

Ответы

1

Не уверена, но я бы попробовала написать $form['submitted']['subtitle']
Потому как у вебформы все поля, которые видит пользователь оборачиваются в ['submitted']
может быть это как-то на порядок вывода повлияет.

Ответ дан 07.11.2016 - 18:16

Вы правы. Так получилось переместить заголовок.
Спасибо.

Комментарий оставлен 08.11.2016 - 16:13