Altron 5 декабря 2018 в 8:41 Здравствуйте, собственно весь вопрос в теме, подскажите пожалуйста как добавить к полям '#prefix' и '#suffix' через hook_form_alter Drupal8 Есть вопрос Решение проблем Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Altron 5 декабря 2018 в 8:53 пробовал вот так не вышло <?php$form['field_name']['#prefix'] = '<div id="nameid">';$form['field_name']['#suffix'] = '</div>';?>
sas@drupal.org 5 декабря 2018 в 9:21 Например /** * Implements template_preprocess_field__FIELD_NAME(). */ function MYTHEME_preprocess_field__MYFIELD(&$variables) { $variables['content']['#prefix'] = 'ny prefix'; }
Altron 5 декабря 2018 в 10:02 Не совсем понял как это должно работать попробовал так <?phpfunction ajax_login_form_form_alter(&$form, FormStateInterface $form_state, $form_id){ mymodule_preprocess_field_name($form);} function mymodule_preprocess_field_name(&$variables) { $variables['nfield_name']['#prefix'] = 'ny prefix'; return $variables['field_name'];}?> не помогло
Altron 5 декабря 2018 в 10:01 проверил этим <?php$form['field_name']['#attributes'] = ['style' => 'background-color: #0a6fb4'];?> стиль применяется а в случае $form['field_name']['#prefix'] = '<div id="nameid">'; $form['field_name']['#suffix'] = '</div>'; оборачивает всю форму а не поле
sas@drupal.org 5 декабря 2018 в 11:02 Для поля оптимальней препроцессить = поле, чтобы помогло включите и посмотрите develdevel
Комментарии
пробовал вот так не вышло
<?php
$form['field_name']['#prefix'] = '<div id="nameid">';
$form['field_name']['#suffix'] = '</div>';
?>
Например
* Implements template_preprocess_field__FIELD_NAME().
*/
function MYTHEME_preprocess_field__MYFIELD(&$variables) {
$variables['content']['#prefix'] = 'ny prefix';
}
Не совсем понял как это должно работать попробовал так
<?php
function ajax_login_form_form_alter(&$form, FormStateInterface $form_state, $form_id){
mymodule_preprocess_field_name($form);
}
function
mymodule_preprocess_field_name(&$variables) {$variables['nfield_name']['#prefix'] = 'ny prefix';
return $variables['field_name'];
}?>
не помогло
Возможно, вы не ту форму альтерите.
проверил этим
<?php
$form['field_name']['#attributes'] = ['style' => 'background-color: #0a6fb4'];
?>
стиль применяется
а в случае
$form['field_name']['#suffix'] = '</div>';
оборачивает всю форму а не поле
Для поля оптимальней препроцессить = поле, чтобы помогло включите и посмотрите develdevel