В админке друпала используется эффект сворачивания/разворачивания группы полей форм (fieldset). Почему бы не использовать эффект для собственных нужд?
Эффект реализуется встроенным скриптом misc/collapse.js. Так что не забудьте подключить его в каком-нибудь модуле, например, вот так:
1 |
drupal_add_js('misc/collapse.js'); |
Часть HTML кода, которая должна уметь разворачиваться/сворачиваться оборачивается в fieldset, для этого удобно воспользоваться ф-цией theme.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$value = 'Ваш HTML код.'; echo theme('fieldset', array('element' => array( // содержание тега legend - заголовок '#title' => 'Заголовок', '#value' => "<div>$value</div>", // класс fieldset-а '#attributes' => array('class' => 'help'), // указываем что fieldset должен уметь сворачиваться/разворачиваться '#collapsible' => true, // по умолчанию fieldset будет свёрнут '#collapsed' => true, ))); |
Для достижения желаемого эффекта ничего больше делать не нужно. :) Просто, не так ли?
А как управляется раскрытие и сокрытие?
Свойством — #collapsed свернута ли группа изначально true/false.