Добрый день, уважаемые коллеги!
Задался сегодня вопросом таким:
Есть тип материала, у него есть поле типа image. Максимальное количество значений - 5, изображение по умолчанию присутствует.
Есть ли простой способ вывести изображение по умолчанию, столько раз, сколько указано максимальное значение(в данном случае - 5), при этом, если в ноду загрузили 3 картинки, то вывести эти 3 картинки + 2 картинки по умолчанию. Чтобы всегда было одинаковое количество изображений, равное максимальному значению.
Если простого способа нет, то в какую сторону копать, чтобы реализовать сложный способ?
Комментарии
один из вариантов - переопределить шаблон
Благодарю за быстрый ответ!
А не подскажете, какие ещё варианты решения данной задачи возможны?
А шаблон переопределять такой?
field--[название поля].tpl.php
или шаблон, или функция темы.
я не знаю всех дополнительных условий, но для начала бы попробовал шаблон соответствующего типа материала, а не поля.
имхо.
Один из правильных (Drupal-way) вариантов - писать форматтер.
да, но начинающему - проще и быстрей сработать с шаблоном.
а если назреет последующий рефакторинг - то посетители сайта даже не заметят внутренних изменений.
Соглашусь.
Просто, предложил вариант.
Спасибо за Ваши советы!
Пока что реализовал через шаблон, теперь поле выводится так, как хотел)
А не подскажете, уважаемый, более менее понятный мануал по работе с форматтерами? Может быть смогу разбраться
Основные хуки:
hook_field_formatter_info()
hook_field_formatter_view()
Ман:
Хороший мануал (англ.) - http://www.metaltoad.com/blog/drupal-7-tutorial-creating-custom-formatters
Он же в переводе - http://webcoder.kz/urok-po-drupal-7-sozdanie-svoih-formatov (что нашел)
Так же советую подсматривать в Examples.Ниже уже написали )))по сути, все примеры есть в ядре.
также есть https://www.drupal.org/project/examples реккомендую
и конечно https://api.drupal.org/
это не конкретно про форматтер поля - это обо всем))