Drupal: Меняем стиль вывода изображений в зависимости от количества файлов + colorbox

Недавно узнал о модуле Field formatter conditions который добавляет условия в настройку отображения поля, например можно скрыть поле если другое поле заполнено или наоборот, также скрыть если у пользователя есть определенная роль, или на определенной странице, а самое интересное то, что модуль поддерживает условия созданные в rules с помощью которых можно изменить размер миниатюры изображения, и это хорошо.

Первым делом ставим и настраиваем FFC для нужного поля, для этого в Manage Display выбираем форматтер image и указываем нужное правило в conditions. О том как создать правило автор модуля уже записал видео с подробными инструкциями — http://www.webwash.net/videos/using-field-formatter-conditions-module. Модуль работает отлично, но к сожалению не поддерживает colorbox, это и будем исправлять.

Назовем модуль ffc_colorbox. Первым делом .info файл:

Файл includes/RulesDataUIFFCColorbox.inc добавим в конце. Дальше .module файл, он будет коротким:

Тут тоже все просто, добавляем к полю класс с именем стиля изображений, например «colorbox-style-medium». Вся изюминка дальше.

Создаем rule action, такой же как в модуле ffc только со своими настройками:

В hook_rules_action_info указан тип параметра как ffc_colorbox_settings и UI Class как RulesDataUIFFCColorbox, в этом классе добавим всего лишь два метода: inputForm и render.

Дальше включаем модуль и настраиваем так же как, только в rules action выбираем другой action.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *