Как вывести раскрывающийся fieldset без использования Form API (для D7)
10 апреля 2018 в 19:39
Как сделать это - http://xandeadx.ru/blog/drupal/216 только для Drupal 7 ?
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Как сделать это - http://xandeadx.ru/blog/drupal/216 только для Drupal 7 ?
Комментарии
В 7ке (как и в 8ке), лучше использовать рендер-массивы, вместо theme():
<?php
$fieldset = [
'#theme' => 'fieldset',
'#title' => t('Help'),
'#value' => my_module_get_value_for_fieldset(), // Любой другой элемент, рендер-массив или строка
'#description' => t('Fieldset description'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
'#attributes' => ['class' => 'help'],
];
?>
Полный список свойств можно найти на странице описания функции.
При особой необходимости (если прям нужно получить сразу готовую строку), можно отрендерить:
<?php
drupal_render($fieldset);
?>
UPD - сорри, '#theme' => 'fieldset' - это для 8ки, 7ке нужно '#type' => 'fieldset':
<?php
$fieldset = [
'#type' => 'fieldset',
'#title' => t('Help'),
'#value' => my_module_get_value_for_fieldset(), // Любой другой элемент, рендер-массив или строка
'#description' => t('Fieldset description'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
'#attributes' => ['class' => 'help'],
];
?>
https://api.drupal.org/api/drupal/includes%21form.inc/function/theme_fie...
Там есть примеры