Как вывести раскрывающийся fieldset без использования Form API (для D7)

Главные вкладки

Комментарии

Аватар пользователя bumble bumble 10 апреля 2018 в 19:59

В 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);
?>
Аватар пользователя bumble bumble 10 апреля 2018 в 20:07

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'],
];
?>