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

Главные вкладки

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

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

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

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

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

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

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

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

Лучший ответ

Аватар пользователя Gopinich Gopinich 7 января 2019 в 17:24

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

Комментарии

Аватар пользователя VasyOK VasyOK 4 января 2019 в 22:57

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

Аватар пользователя marassa marassa 5 января 2019 в 8:43

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

Аватар пользователя sas@drupal.org sas@drupal.org 5 января 2019 в 11:58

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

Аватар пользователя Gopinich Gopinich 5 января 2019 в 14:57

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

Аватар пользователя VasyOK VasyOK 5 января 2019 в 15:50

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

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

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

Аватар пользователя Gopinich Gopinich 5 января 2019 в 16:05

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

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

Аватар пользователя Gopinich Gopinich 5 января 2019 в 18:12

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

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

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

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

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

Аватар пользователя Phantom63rus Phantom63rus 5 января 2019 в 18:34
1

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

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

Аватар пользователя Gopinich Gopinich 5 января 2019 в 19:07

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

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

Аватар пользователя Phantom63rus Phantom63rus 5 января 2019 в 19:48

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

Аватар пользователя Gopinich Gopinich 5 января 2019 в 20:17

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

Аватар пользователя sas@drupal.org sas@drupal.org 5 января 2019 в 20:29

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

Аватар пользователя bumble bumble 6 января 2019 в 15:55
1

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

Вопросы:

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

Почему у "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...

Аватар пользователя bumble bumble 6 января 2019 в 16:32

Gopinich wrote:

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

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

Gopinich wrote:

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

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

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

Аватар пользователя Gopinich Gopinich 6 января 2019 в 16:44

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

Аватар пользователя bumble bumble 6 января 2019 в 16:58

Gopinich wrote:

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

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

Gopinich wrote:

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

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

Аватар пользователя Gopinich Gopinich 6 января 2019 в 17:02

bumble wrote:

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

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

Аватар пользователя sas@drupal.org sas@drupal.org 6 января 2019 в 18:33

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

Аватар пользователя Orion76 Orion76 7 января 2019 в 9:31

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

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

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

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

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

Аватар пользователя sas@drupal.org sas@drupal.org 7 января 2019 в 10:41

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

Аватар пользователя Gopinich Gopinich 7 января 2019 в 17:24

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