Вывод родительского термина

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

Аватар пользователя kari kari 30 марта 2021 в 16:59

Всем привет! Вопрос такой. Есть словарь с иерархией: категории и подкатегории. Этот словарь привязан к материалу (товар). Мне нужно вывести в превью товара родительский термин и дочерний термин. В принципе, задача, на первый взгляд, простая. Но есть одно НО. У товаров может быть только категория без подкатегории. А может быть категория с подкатегорией. И, когда я начинаю выводить родителя и дочерний термин, получается такая вещь: если у товара есть и категория, и подкатегория, то всё выводится нормально. А если подкатегории нет, не смотря на то, что родитель имеется, на месте родительского термина пустота, а на месте дочернего термина выводится родительский. Как быть?

Комментарии

Аватар пользователя OldWarrior OldWarrior 30 марта 2021 в 20:46

kari wrote:... А если подкатегории нет, не смотря на то, что родитель имеется, на месте родительского термина пустота, а на месте дочернего термина выводится родительский

Сам материал с каким термином связан - с дочерним или родительским? Тут что-то запутанные родственные связи ).

Аватар пользователя kari kari 30 марта 2021 в 20:55

Связь строится поэтапно: при заполнении товара нужно выбрать родительский термин обязательно. А дочерний можно выбрать, А можно нет. Поэтому есть материалы, связанные с родителем, а есть связанные и с родителем и с дочерним. Вот у вторых всё хорошо, а у первых всё плохо.

Аватар пользователя OldWarrior OldWarrior 30 марта 2021 в 21:07

kari wrote: Связь строится поэтапно: при заполнении товара нужно выбрать родительский термин обязательно. А дочерний можно выбрать, А можно нет.

Т.е. материал связан с одним обязательным термином, который вы называете родительским. И это понятно. Но, опять же, как-то непонятно: зачем тогда выбирать дочерний и почему он только один? Неужели структура таксономии так построена, что терминов на каждом уровне не более одного?

Аватар пользователя kari kari 30 марта 2021 в 21:27

На примере овощей и фруктов.
Словарь:
Фрукты
-яблоки
-груши
-сливы
Овощи:
-помидоры
-огурцы.
Заполняем товары:
яблоко сорт А - категория фрукты, подкатегория яблоки
слива сорт Х - категория фрукты, подкатегория сливы
апельсин сорт Б - категория фрукты, подкатегории нет.
Как выглядит мое вью:
Яблоко сорт А (категория - фрукты, подкатегория - яблоки)
Слива сорт х (категория - фрукты, подкатегория - сливы)
Апельсин сорт Б (категория - (пусто) , подкатегория - фрукты)

Аватар пользователя OldWarrior OldWarrior 31 марта 2021 в 0:06

kari wrote: Связь строится поэтапно: при заполнении товара нужно выбрать родительский термин обязательно. А дочерний можно выбрать, А можно нет.

kari wrote: Заполняем товары:
яблоко сорт А - категория фрукты, подкатегория яблоки

Эмпирически и благодаря тренированной интуиции я вдруг понимаю, что вы устанавливаете два разных поля для родителя и потомка, так? Что-то из вас почти щипцами откровения вытягиваются.

Да и скриншот вашего представления (в смысле - редактирование view) можно было бы выложить.

Аватар пользователя kari kari 31 марта 2021 в 21:18

Вопрос решился с помощью заполнения раздела поля"при отсутствии результата". Однако это оказалось бесполезно, т.к. теперь задача усложнилась. Нужно сделать фильтр по родителям. То, что там у меня выводится при отсутствии результата системе по барабану, она фильтрует как бы "по факту")). Поэтому создана другая тема https://drupal.ru/node/143291