Получение терминов таксономии, связанных с текущим термином

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

Аватар пользователя olegans olegans 30 апреля 2020 в 12:11

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

Есть сайт на drupal 7. Есть словарь таксономии, допустим, "товары". И есть словарь "характеристики", где собраны все возможные характеристики товаров. Каждый термин из первого словаря связан с несколькими терминами из второго (в первом словаре добавлено поле "field_characteristics" с типом "Ссылка на термин").

Вопрос в том, как, зная tid товара, получить список tid характеристик, которые с этим товаром связаны?
Если делать прямой запрос к БД, то это будет выглядеть примерно так:
SELECT field_characteristics_tid FROM field_data_field_characteristics WHERE entity_id = ...
А как это сделать через api drupal?

Лучший ответ

Аватар пользователя charOFF charOFF 30 апреля 2020 в 13:17
1

Эти данные есть в объекте термина

<?php
  
// получить объект термина товара
  
$term taxonomy_term_load($tid); 
  
// и достать tid-ы из свойства объекта field_characteristics
  
$tids array_column($term->field_characteristics[LANGUAGE_NONE], 'tid');
?>

Комментарии

Аватар пользователя charOFF charOFF 30 апреля 2020 в 13:17
1

Эти данные есть в объекте термина

<?php
  
// получить объект термина товара
  
$term taxonomy_term_load($tid); 
  
// и достать tid-ы из свойства объекта field_characteristics
  
$tids array_column($term->field_characteristics[LANGUAGE_NONE], 'tid');
?>