Как поменять текстовое поле и его метку в Drupal - PullRequest
2 голосов
/ 05 июля 2011

Я использую drupal_render() для визуализации форм. По умолчанию он отображает метку, а затем текстовое поле. Как я могу изменить это так, чтобы текстовое поле показывалось первым?

Ответы [ 3 ]

1 голос
/ 05 июля 2011

Вы можете переопределить field.tpl.php в Drupal 7 и изменить положение $ label, где вы хотите.

1 голос
/ 06 июля 2011

In Drupal 6 : Вы можете реализовать hook_form_alter () и назначить пользовательскую функцию атрибуту # theme любого элемента, который вы хотите изменить. Затем, когда Drupal хочет отобразить этот элемент, он вызовет вашу функцию вместо theme_form_element ().

Или вы можете переопределить функцию theme_form_element () , скопировав ее в template.php и переименовав в mytheme _form_element (). Затем вы можете полностью изменить способ отображения элементов формы. Обратите внимание, что все элементы формы визуализируются через него, поэтому вы захотите проверить наличие $ element ['# name'], чтобы переопределить вывод только для тех элементов, которые вам нужны (и это именно поэтому выполнение hook_form_alter () является «более чистым» способом сделать это).

И не забывайте очищать кэш всякий раз, когда ваши изменения в тематике, похоже, ничего не делают! :>

1 голос
/ 05 июля 2011

Обычно вы справляетесь с таким переопределением на слое темы. Чтобы узнать, какая функция или файл генерирует соответствующий вывод, вы можете использовать модуль Theme Developer . Затем переопределите при необходимости .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...