Можно ли во Views вывести иконку из другого типа материала и привязать ее к текущему материалу?

4 января 2019 в 15:42
Аватар пользователя Gopinich Gopinich 0 27 Решено

Здравствуйте. Всех с Новым Годом.

Ситуация такая.

Есть тип материала 1 - поля иконка, словарь таксономии
и Тип материала 2 - поле с тем же слвоарем таксономии

Нужно сделать views, но который каким-то образом подцепит нужную иконку с типа материала 1, но сам материал (все поля) будет брать из типа материала 2.

Я пытался сделать через relatioship, но ничего не вышло.

views типа "Блок". Должен быть помещен на главную страницу, отображать контент с типа материала "2", но при этом иконку взять с типа материала "1" и этот контент связан таксономией.

Или здесь нужен модуль типа entity reference?
Спасибо.

Комментарии

Может как-то более упрощено объясните.
Есть типы товаров: левизоры и стральные машины. Есть словарь таксономии... Как-то так.

4 января 2019 в 22:57

+1, тут лучше с конкретными примерами. Есть подозрение, что модель данных построена в принципе неправильно.

5 января 2019 в 8:43

По сути поля с материала 2 -значит надо брать и с материала 2 иконку, допустим она привязана через термин и надо взять с материала 1 поле иконки, "в лоб" нужна связь из материала 2 на поле материала 1, но динамически можно использовать https://www.drupal.org/project/field_views в материале 2, но лучше конечно посмотреть/оптимизировать сначала ER модель

5 января 2019 в 11:58

Есть типы товаров: "игры" (с иконкой в поле), есть типа материала "игровые приставки".
Нужно сделать вьвс, который будет выводить всю информацию из типа материала "игровые приставки", но так же и иконку с типа материала "игры". Если иконка из типа материала "игры" подходит по таксономии с материалом "игровые приставки"

5 января 2019 в 14:57

Спасибо, что говорите на геймерстком, а не на програмистском диалекте айтишного.

"
всю информацию из типа материала "игровые приставки", но так же и иконку с типа материала "игры"
"

Вот если приставки выводяться, не могу представить как выводить иконки игр. Какие поля джолжны быть в выводе?

5 января 2019 в 15:50

Все поля материала приставки + поле с другого типа материала с иконкой (Изображение) материала игры.

Можно ли во вьвс (приставки) вывести поле (изображение) другого типа материла? (игры)
эти материалы связаны только словарем таксономии. Через Relationship не получается (может не правильно делал)

5 января 2019 в 16:05

Товарищи, я скорее всего плохо объяснил, что я хочу, .т.к. в Друпал-терминологии я не силен. А движок юзаю всего месяц.

Нашел в интернете похожий вопрос, но там тоже ответа нет:

Есть два типа нод: Авто и Фотографии.
Также есть словарь таксономии: Марки и модели. Там содержится иерархический список марок и моделей.

При добавлении автомобиля из словаря выбирается марка и модель.
При добавлении фотографии происходит то же самое.

Как через Views сделать так. Чтобы в ноде "автомобиль" выводились фотографии из нод "фото" ну или сами ноды, темезировать не проблема.

5 января 2019 в 18:12

Связь - ссылающийся материал (ну или как там организовано?).
Поле с иконкой через связь.

Или так или я понял все варианты объяснения задачи неправильно.

5 января 2019 в 18:34

Это получилось, но только с использованием модуля entity reference. Указав в связях views entity referenced созданную связь через этот модуль.

Но вопрос: неужели из коробки views так не делает со связями?

5 января 2019 в 19:07

Из коробки связи через теги и ещё там разные. Entity reference широко используемый модуль, на крупных проектах со сложной структурой стоит практически всегда, ничего страшного в нём нет.

5 января 2019 в 19:48

Спасибо.
Я правильно понял, что из коробки не связать поле изображение материала 1 и не вывести его в материале 2?

5 января 2019 в 20:17

Из коробки term_reference, если бы Вы сделали игры терминами и использование поле term_reference в игровых приставках на игры то entity_reference"не из коробки" - не понадобилось бы.

5 января 2019 в 20:29

Вот Вам моделька с примером:

Вопросы:

  1. Какую картинку нужно показывать элементам "Item 1" и "Item 2"?
  2. Какую для "Item 3"?
6 января 2019 в 15:55

Почему у "Item 1" и "Item 2" одинаковые термины - Term 1?
У item 1 по-идее term 1, у item 2 - term 2. Соответственно картинки, которые в категории category 1, а item 2 - картинки тоже с category 1, но с термином 2.
Для item 3 - термин, который в item 3, например термин 2. Но вытаскивает views не термин, а картинку из категории с термином 2...

6 января 2019 в 16:26

Gopinich wrote:

Почему у "Item 1" и "Item 2" одинаковые термины - Term 1?

Потому что так настроены связи и ничего не мешает их так строить.

Gopinich wrote:

У item 1 по-идее term 1, у item 2 - term 2

По идее - может быть, по реализации - нет.

То что Вам нужно, вероятно, описано тут: https://blogpost.pp.ua/drupal/48

6 января 2019 в 16:32

не, в статье другое.
Подождите, у вас в примере под ITEM что понимается? уже готовая к выводу сущность типа views?

6 января 2019 в 16:44

Gopinich wrote:

в статье другое

Может и другое, но способ - подходящий для реализации задуманного.

Gopinich wrote:

под ITEM что понимается?

Так должно быть понятнее:

6 января 2019 в 16:58

bumble wrote:

Может и другое, но способ - подходящий для реализации задуманного.

Тогда почитаю более внимательно.
Мне просто нужно было знать, что в стандартном views без доп. модулей так не сделать, что бы моя совесть была чиста)

6 января 2019 в 17:02

Строго говоря таксономия реализует сущности определенного типа, с определенными методами и свойствами и использовать этот тип сущности или какой-то другой для реализации модели сущность-связь решаете Вы на основе оптимальности Вашей модели.

6 января 2019 в 18:33

Если я правильно понял, у приставки и игры есть некие "технические характеристики", которые обозначаются термином таксономии в соответствующем поле.
Т.е. категория приставки и категория игры - это один и тотже словарь таксономии?

1. В вьюсе, Вам надо в приставку добавить поле "картинка" через связь с термином (т.е. это картинка термина) и исключить это поле из вывода. Это поле должно быть обязательно выше в списке полей вьюса, чем следующее поле(п.2).

2.Потом сделать необязательную связь приставки с игрой через термин таксономии.
И добавить поле "картинка" уже из игры.

В настройках поля "картинки", есть секция настройки вывода поля(NO RESULTS BEHAVIOR ), если поле пустое (т.е. если нет игры с тем же термином, то естественно оно будет пустое).
И в этой секции подставить токен поля из п.1, т.е. чтобы выводилась картинка термина из п.1, если ненашлось игры с тем же термином.

В общих чертах, как-то так.

7 января 2019 в 9:31

Автор писал, что настраивал уже связи - не работает у него, пытаемся понять в чем причина и нарисовать ему правильную модель.

7 января 2019 в 10:41

Всем спасибо за помощь, остановился на entity reference + связь в views с помощью этого модуля. Тем более entity в будущем пригодится...

7 января 2019 в 17:24