Добрый день, у меня имеется следующие сущности
Тип материала: Видеокурс
Тип материала: Видео
Словарь таксономии: Категория видеокурса (3 уровня вложенности терминов 1, 1.1, 1.1.1)
Видеокурс имеет поле термин таксономии со связью со словарем Категория видеокурсы
также он имеет поле entity reference со связью с типом материала Видео (неограниченное количество)
Необходимо, когда я открываю ноду Видео, в крошках показать следующее:
Категория 1 > Категория 1.1 > Категория 1.1.1 > Видеокурс > Видео
Т.е. в Path breadcrumbs я за контекст принимаю ID из урла, в виде типа материла - Видео, и вот тут
вопрос, если бы у меня наоборот Видео **связывалось в **Видеокурс, тогда вопросов нет, а если наоборот, как мне получается с обратной стороны построить связь
Ответы
Проще дописать нужные ссылки через hook_path_breadcrumbs_view_alter.
Есть еще вариант - через hook_entity_property_info_alter() добавить новое свойство для материала. В 'getter callback' возвращать связанный материал. Это и будет связью с обратной стороны.
После этого у Вас в Path Breadcrumbs появится объявленное свойство, сможете выбрать Видеокурс. А дальше по цепочке будут доступны все его свойства.
Пример:
function MYMODULE_entity_property_info_alter(&$info) {
$info['node']['properties']['video-course-rel'] = array(
'type' => 'node',
'label' => t('Relationship with video course'),
'getter callback' => 'MYMODULE_video_course_rel_callback',
);
}
function MYMODULE_video_course_rel_callback($item){
//Через EntityFieldQuery находите видеокурс
//$node_video_course = ....
return $node_video_course;
}
Есть аналогичный пример для поля commerce_product_reference - https://frantsuzzz.com/content/drupal-commerce-dobavim-svyaz-commercepro...