Как организовать такое на друпал 7?
17 октября 2013 в 20:37
Есть два типа материалов.
Тип A. Поля:
Заголовок
Содержимое
Изображение
Теги (термин таксономии, 10 терминов)
Всего 10 материалов.
Тип B. Поля:
Заголовок
Содержимое
Изображение
Теги (термин таксономии)
Нужно в материалах Типа B вывести изображения материалов Типа A (всегда разное кол-во). Изображения должны быть ссылками на материалы Типа A.
Можно было бы сделать представлением, если бы кол-во изображений всегда было одинаковым. Но создавать 10 представлений как-то глупо. Поэтому и добавил в оба типа термины таксономии, чтобы связать их как то. Но вот что делать дальше не могу понять.
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Без представления думаю никак!
Делаем "Отношения" по термину таксономии.
Что долго клонов наделать представлений, делом на 5 минут!
Для меня не проблема.
Проблема для заказчика менять где какое представление выводить.
Было бы гораздо удобнее, если бы заказчик просто мог выбирать у материала термины таксономии. Или даже лучше из списка выбрать сколько и какие именно фотки должны быть показаны.
И представлений будет не десять. Всего 10 фоток. А вариантов сочетаний этих фоток может быть гораздо больше.
Если ничего путного не подскажут, то видимо так и сделаю представлением.
Entity reference + Display Suite
Этого вполне достаточно.
Если я правильно понял задачу, то проще сделать с помощью модулей Еntity reference + Corresponding Entity References + views
Порядок действий:
1. Типу материала A добавляем поле Entity Reference, машинное имя field_link_b, виджет Флажки/переключатели.
В настройках:
Тип цели Материал
Режим простой
Целевые пакеты Тип B
Количество значений неограничено
2. Создаем views Показать содержимое типа А. Снимаем галочку с Создать страницу. Продолжить. Добавляем дисплей Entity Reference. Удаляем поле Заголовок и добавляем поле Изображение(то что в материале типа А). Жмем Настройки напротив Формат: Список Entity Reference, ставим галочку возле "поля изображения". Сохраняем views.
3. Типу материала B добавляем поле Entity Reference, машинное имя field_link_a, виджет Флажки/переключатели.
В настройках:
Тип цели Материал
Режим Views, в выпадающем списке выбираем views созданный на предыдущем шаге
Количество значений неограничено
4. Открываем admin/config/system/cer
Ставим 2 галочки, напротив field_link_a к field_link_b и field_link_b к field_link_a
Если ноды уже были созданы, то переходим на вкладку Update existing entities -> Выбираем Тип сущности Материал -> Submit
5. Создаем views с дисплеем block. Показать содержимое типа А. Настраиваем вывод нужных полей. Добавляем Контекстный фильтр:
Поле Содержимое: field_link_b. Передать значение по умолчанию ID материала из URL. Далее галочка на Укажите критерии проверки, выбираем Проверка Содержимое, Типы материалов Тип B, Формат значения фильтра ID материала, Действие в случае если значение фильтра недействительно Скрыть представление.
Сохраняем views
6. Настраиваем вывод блока на страницах материалов Тип B
В итоге получаем: в форме создания материала Тип B выводятся чекбоксы с картинками из Тип A. Отмеченные картинки выводятся на страницах материала B
в закладочку)
Bags85, благодарю. Именно то, что нужно)