Дополнительные поля поля термина в ноде

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

Аватар пользователя Bios Bios 25 февраля 2016 в 8:41

Доброго времени суток

возникла простая задача, но не знаю как решить

Суть проблемы: есть тип материала "товар" у которого есть поле ТЭГИ. Тэгов может быть несколько например ДЕРЕВЯННЫЙ, КРАСНЫЙ, КРУГЛЫЙ

Так вот нужно сделать вьюху которая бы выводила все похожие товары. Но по конкретному термину а не по всем сразу.

Если для одного товара это может быть тэг ДЕРЕВЯННЫЙ, то для другого нужно вывести КРУГЛЫЙ

Понятно что при добавлении тэгов в ноду надо как то помечать нужный, но не представляю как это сделать. Может кто нибудь сталкивался?

Комментарии

Аватар пользователя Bios Bios 25 февраля 2016 в 11:42

По указанной вами ссылки указан примитивный вывод похожих товаров, а в сабже стоить вопрос совсем в другом

Аватар пользователя abutan abutan 25 февраля 2016 в 12:36

Сорри , наверное невнимательно прочитал, или неправильно понял. Тогда встречный вопрос, а блок похожих товаров для одного товара один?
Я имею в виду, вот что. У товара три термина таксономии, а блок похожих нужен только по одному из трех, или какой то другой принцип используется?

Аватар пользователя Bios Bios 25 февраля 2016 в 13:04

abutan
Да указываем несколько терминов на на ноду, но похожие товары отображаются только по одному из них

Lotar
Все фильтруется ) но Вы видимо тоже не поняли суть вопроса?

VasyOK
Как я понял единственный вариант патчить или дописывать Sad
Словарь ТЭГИ в нем каша терминов

В процессе поиска решения заметил что пишут про дельту терминов в норде. Может можно как то по дельте фильтровать? тогда теоретически первый термин всегда можно считать самым главным и по нему выводить похожие товары

Аватар пользователя abutan abutan 25 февраля 2016 в 13:53

Я бы добавил еще одно поле для тегов. То есть во второе поле писать тег по которому надо выводить похожие товары. Только в нем количество значений - только одно. А так изобретать фильтр я не думаю что получится. Ведь в товаре А нужно будет вывести по первому термину, а в товаре Б по четвертому , к примеру. Вряд ли какая то автоматизация получится.

Аватар пользователя Bios Bios 25 февраля 2016 в 14:16

abutan

Это логичное и простое решение, но сейчас на сайте уже тысяча наименований и с ним работают несколько человек. Можно конечно обьяснить всем и пройтись по всем товарам по добавлять теги в новое поле, но мне кажется должно быть решение попроще

Аватар пользователя VasyOK VasyOK 25 февраля 2016 в 20:18

Хотя....
У термина делам чекбокс "Нужный термин"

Делаем вьюхи:
1. Определяет "нужный" термин
Контекстный фильтр - nid
Связь - поле ссылки на термин
Фильтр - (через связь) "нужный" термин
Поля
tid (через связь) - скрытое
просмотр - от модуля Views Field View - по аргументу tid вьюху 2

2. Контекстный фильтр - tid
Поле - Заголовок материла

В контекстных фильтрах единственная важная настройка
When the filter value is NOT available - Provide default value - Content ID from URL (для 2-й вьюхи taxonomy term ID from URL)

Аватар пользователя abutan abutan 25 февраля 2016 в 15:41

Согласен геморрой жуткий. Но пока вы не придумаете алгоритм по которому выбирается нужный термин, все решения сводятся к тому что надо заходить в каждый товар и каким нибудь образом указывать нужный термин. Так или иначе.
Если вы придумаете такой принцип, может кто то и придумает решение, или вспомнит готовое, или сами поймете что и как сделать.
Пока же могу только для ускорения процесса использовать вот это. Поподробней описано здесь. Смысл в том чтобы нужные поля сделать редактируемыми и вывести в представление. Добавить фильтры, чтобы каждый мог работать только со своей категорией товаров. Процесс ускоряется на несколько порядков. Сам страдал такой фигней с одним клиентом.

Аватар пользователя Bios Bios 25 февраля 2016 в 17:10

VasyOK
Самое смешное что эта галка и будет работать только для страницы термина ) в ноде ее не будет. Или что то путаю?

abutan
спасибо за интересные ссылки возьму на заметку

Пока еще в поисках оптимального решения

Аватар пользователя Bios Bios 25 февраля 2016 в 19:47

VasyOK

А можете еще раз обьяснить про этот способ? Не понял логики...

Вы явно знаете в друпале больше меня

Аватар пользователя VasyOK VasyOK 25 февраля 2016 в 20:15

Скопировать и вставить то что написал уже?

Давайте по пунктам.
Поле чекбокса у термина задали?
2 вьюхи создали?
Блок к ноде вывели?

Аватар пользователя Bios Bios 26 февраля 2016 в 7:36

VasyOK

Нет копировать не надо ) я не понял логики этих вьюх для чего нужна первая и для чего вторая?
первая вьюха как я понял должна быть блоком для нод? или для терминов?

Аватар пользователя Bios Bios 26 февраля 2016 в 8:37

Скажите пожалуйста как нибудь можно влиять на порядковый номер добавления термина? Посмотрел еще раз ассортимент. На самом деле достаточно было бы искать похожие товары по первому термину.

Фиксирует ли система что то типа порядкового номера?

Аватар пользователя VasyOK VasyOK 26 февраля 2016 в 14:36

Bios wrote:

чего нужна первая и для чего вторая?

первая вьюха как я понял должна быть блоком для нод? или для терминов?

А вы сделайте и поймете.
Блоком для нод. На не-нодах она будет пустой и потому не выведется. В любом случае есть фильтры в views и варианты "где показывать" в настройках блока.
Bios wrote:

Фиксирует ли система что то типа порядкового номера?

У термина есть номер. TID называется. Или я не понял вопрос.

Аватар пользователя Bios Bios 26 февраля 2016 в 16:54

VasyOK wrote:

У термина есть номер. TID называется. Или я не понял вопрос.


TID это идентификатор термина

я имел ввиду дополнительные параметры термина в самой ноде, например время или порядок подключения термина

Аватар пользователя Bios Bios 29 февраля 2016 в 9:26

Вы итоге решил тупо сделать поле, потому что оказалось что может быть такое что в похожих нужно будет показывать и товары, которые не указываются в видимых тегах

появилась другая проблема http://www.drupal.ru/node/127580

может кто нибудь может подсказать в чем проблема?

Аватар пользователя VasyOK VasyOK 1 марта 2016 в 8:08

Настаиваю на том, что способ, приведенный мной выше рабочий. Другие методы не отрицаю, увы объяснить их не могу.

Аватар пользователя Bios Bios 2 марта 2016 в 9:26

VasyOK

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

Скажите пожалуйста можно ли как то передавать более одного термина во вьюхе? - http://www.drupal.ru/comment/664870#comment-664870

Аватар пользователя VasyOK VasyOK 2 марта 2016 в 10:13

Не знаю честно. И даже не понимаю зачем все это.
xandeadx-а спросите в комментариях на его сайте.

Мой способ рабочий даже если 2 поля. В таком случае по нужному полю выводить товары.