Вот и вышел долгожданный релиз Drupal 7. В целом продукт мне понравился, и для того, что бы получше изучить новое АПИ я решил постепенно перевести написанные мной модули под новую платформу. Первой ласточкой стал один из элементов модуля ccfilter – collapse text. Но, что бы было поинтересней, я не просто перевел его под D7, но и несколько расширил функциональность.
Новый модуль ccfcollpase позволяет встраивать при помощи специальных тэгов (аля BBCode) в материалы сворачиваемый/разворачиваемый текст.
По сравнению с версией для D6, данный фильтр позволяет вставлять вложенные элементы, кроме того предусмотрен блок врапера, который позволяет разворачивать/сворачивать все элементы находящиеся внутри данного врапера. Также можно установить с помощью дополнительных атрибутов индивидуально для каждого слайдера некоторые параметры поведения, как то скорость сворачивания/разворачивания и метод сворачивания/разворачивания (пока доступны три метода slide, fade, slidefade).
В дальнейшем данный фильтр будет использован как один из составляющих элементов ccfilter под D7.
Примечание: далее в тексте примеров , что бы не срабатывал фильтр я заменил английскую букву c на русскую с.
Общий синтаксис:
/** * Структура обработки фильтра: * в треугольные скобки помещены не обязательные синтаксические конструкции * одинарные кавычки в параметрах обязательны, порядок параметров произвольный * ******************************************************************************* * <[сollapse-wrapper <hide|show> <title-show='Expand All' title-hide='Collapse all'>]> * [сollapse <attributes>] * <материал внутри слайдера> * <[сollapse <attributes>]> * <материал внутри вложенного слайдера> * <[/сollapse]> * <продолжение материала внутри слайдера> * [/сollapse] * <[/сollapse-wrapper]> ******************************************************************************* * опциональные атрибуты задают режим работы слайдера * если аттрибуты не установлены, то беруться предустановленные параметы в настройках фильтра * attributes = * <hide|collapsed|show|expanded> - определяют как будет выглядить слайдер * при загрузки страницы hide или collapsed - свернутый слайдер, * show или expanded - развернутый слайдер * <title-show='Expand'> - определяет префикс заголовка для разворачивания слайдера * <title-hide='Collapse'> - определяет префикс заголовка для сворачивания слайдера * <title=''> определяет постфикс заголовка слайдера * например для комбинации title-show='Показать' title-hide='Скрыть' title='материал' * для развернутого слайдера будет сформирован заголовок - Показать материал * и при сворачивании он будет меняться на - Скрыть материал * <speed-show='slow|fast'> <speed-hide='slow|fast'> - скорость разворачивания и * соответственно сворачивания слайдера, кроме значений slow и fast можно указать * число миллисекунд * <method-show='Slide|Fade|SlideFade'> - метод анимации при разворачивании * <method-hide='Slide|Fade|SlideFade'> - метод анимации при сворачивании * * [сollapse-wrapper <show|hide> <title-show='Expand All' title-hide='Collapse all'>] * ......- * [/сollapse-wrapper] * определяет контейнер для нескольких слайдеров, и добавляет ссылку c возможностью * развернуть или свернуть все слайдеры внутри контейнера * атрибут show hide - определяет начальное значение обработчика враппера */
Если атрибуты не проставлены (а все они необязательны), то их значения берутся из предопределенных значений определенных в настройке фильтра.
В атрибутах имеющих значение – обязательны одинарные кавычки.
Порядок и наличие атрибутов произвольный, если какой либо из атрибутов не определен, то его значение берется из предопределенного в настройках фильтра .
Значения по умолчанию:
title-show=t(’show’)
title-hide=t(’hide’)
title=”
speed-show=’fast’
speed-hide=’fast’
method-show=’slide’
method-hide=’slide’
Допускаются вложенные сполеры (т.е. внутри сполера вы можете расположить еще дополнительные сполеры), уровень вложенности технически не ограничен и определяется здравым смыслом и ограничениями дизайна (верстки) сайта.
Полный заголовок формируется как конкатенация префикса (title-show|title-hide) и заголовка (title)
Некорректность (нарушение структуры – парности тэгов) не отслеживается и может привести к непредсказуемым результатам (вплоть до краха верстки), поэтому кажется сомнительный включать данный фильтр в общедоступный формат ввода.
Так как данный сайт (имеется ввиду мой домашний сайт) все еще на D6, для экспериментов и тестирования я создал новый сайтик www.printarts.ru, примеры работы фильтра можно посмотреть на страничке http://www.printarts.ru/article/proverka-raboty-ccfcollapse-filtra
Жду отзывов и багрепортов тестирования данного модуля.
Оригинал материала на сайте www.hotel-prog.ru
| Прикрепленный файл | Размер |
|---|---|
| ccfcollapse.zip | 5.7 кб |
Источник: http://drupal.ru/node/56981
Добавить комментарий к записи "Проба пера или первый мой модуль по Drupal 7"
Чтобы комментировать, необходимо войти в систему.
