Drupal 7 раксрывающиеся блоки информации

Маленькое вступление к статье

Иногда бывает необходимо сделать часть материала, имеющегося на заданной странице сворачиваемым. Если вы разрабатываете проекты на Друпале, тогда вам сильно повезло. Остается только кодом расположить элементы по группам и задать пару свойств.

Скриншот примера: тест на Bartik

Drupal 7 раскрывающийся текст

Выше был дан скриншот, иллюстрирующий работу примера. Следующим абзацем приведу сам фрагмент необходимого разметочного кода.

Реализация: код для запуска

<?php

/**
 * Реализация формы с JQuery со сворачивающимися блоками элементов.
 * Первая группа полей будет по умолчанию свернута, а вторая наоборот развернута.
 * Как обычно подсоедините пример к hook_menu().
 */
function demospisok_form($form, &$form_state) {

  /* Первый блок. */
  $form['druweb_group1'] = array(
    '#type' => 'fieldset',
    '#title' => 'Группа 1',
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
 
  /* Набор полей для первой выпадающей области. */
  $form['druweb_group1']['pole_1_1'] = array(
    '#type' => 'textarea',
    '#title' => 'Многострочное поле ввода',
    '#default_value' => 'Значение по умолчанию для многострочного текстового поля.',
  );
 
  $form['druweb_group1']['pole_1_2'] = array(
    '#type' => 'textfield',
    '#title' => 'Однострочное поле ввода',
  );
 
  /* Второй блок. */
  $form['druweb_group2'] = array(
    '#type' => 'fieldset',
    '#title' => 'Группа 2',
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
  );
 
  /* Набор полей для второй выпадающей области. */
  $form['druweb_group2']['pole_2_1'] = array(
    '#type' => 'textfield',
    '#title' => 'Просто ещё какое-то поле',
  );  
     
  $form['druweb_group2']['pole_2_3'] = array(
    '#type' => 'textfield',
    '#title' => 'Второе какое-то поле',
  );
 
  return $form;
}
?>

Как видите данная процедура ничем особенным(кроме наличия #collapsible => TRUE) не отличается от практически схожей организации раннее рассмотренных мною вертикальных вкладок для Друпал.





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.