hook_form_alter - ваш друг здесь.
В файле template.php вашей темы вы можете добавить префиксы и суффиксы форм, элементов форм и т.д.
Ниже приведен пример с сайта я сделал в последнее время.
function bhha_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'user_login') {
$form['#prefix'] = '<div class="loginForm">';
$form['#suffix'] = '</div>';
$form['name']['#title'] = Null; // Change text on form
$form['name']['#description'] = Null; // Change text on form
$form['name']['#attributes'] = array('placeholder' => t('username'));
$form['name']['#size'] = '30';
$form['pass']['#title'] = Null;
$form['pass']['#description'] = Null; // Change text on form
$form['pass']['#attributes'] = array('placeholder' => t('password'));
$form['pass']['#size'] = '30';
//$form['actions']['submit']['#value'] = t('password');
$form['actions']['submit'] = array('#type' => 'image_button', '#src' => base_path() . path_to_theme() . '/images/Login.png');
$form['links']['#markup'] = '<a class="user-password" href="'.url('user/password').'">' . t('Forgot your password?') . '</a>'; // Remove Request New Password from Block form
$form['links']['#weight'] = 540;
}
}
Осмотрите свой код, чтобы получить форму, в которой вы хотите указать идентификатор темы. Замените символы подчеркивания на дефисы, и вы сможете использовать приведенный выше пример, чтобы делать то, что хотите.
В этом самом основном, я предполагаю, что пример будет:
function THEME_NAME_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'FORM_ID') {
// Adds a wrapper div to the whole form
$form['#prefix'] = '<div class="loginForm">';
$form['#suffix'] = '</div>';
// Adds a wrapper div to the element NAME
$form['name']['#prefix'] = '<div class="formRow">';
$form['name']['#suffix'] = '</div>';
}
}
Вы создали пользовательскую форму или хотите создать существующий? Попробуйте это [учебник] (http://www.jaypan.com/tutorial/themeing-drupal-7-forms-including-css-and-js) или [этот] (http://www.digett.com/blog/05/26/2011/how-theme-comment-form-drupal-7) –
Я создал свою собственную пользовательскую форму, используя API формы, но я не могу ее стилизовать так, как я хочу, потому что мне нужно группировать нагрузку элемента, т.е. личные детали (имя, адрес, телефон и т. д. и т. д.). В основном я хочу, чтобы слайд части формы на экране, когда каждая часть заполняется, вот почему мне нужно добавить дополнительную HTML-надпись. –
спасибо за ответ. Первое учебное пособие, отправленное JAYPAN, отлично работает после выпуска. Мне пришлось перезапустить модуль после определенных изменений. –