Панель контента просмотров "Связанный контент" от таксономии - PullRequest
1 голос
/ 15 августа 2011

В настоящее время я разрабатываю сайт на Drupal 7, где я использую Page_Node_View Page Manager, чтобы настроить макет для своего типа контента "Article". Поэтому при просмотре статьи я хочу показать маленькую рамку с «Связанным контентом». У меня есть словарь таксономии «Общая категория», который я использую во всех моих типах контента.

Например, у меня также есть тип контента «Галерея», поэтому при просмотре статьи с термином «myTag» я хочу показать панель контента с изображениями, помеченными как «myTag» из словаря «Общая категория».

Мой вопрос касается настройки контекстного фильтра для панели содержимого. Должен ли «ввод аргумента» быть словарным запасом или термином? - Я пробовал оба, но не могу заставить его работать.

Также у меня есть еще один вопрос: возможно ли использовать панель содержимого в качестве блока, который отображается на панели? - Полагаю, нет, потому что значение фильтра Contextual приходит из Page Manager.

Ответы [ 2 ]

0 голосов
/ 01 июня 2014

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

Вы можете перейти к сообщению " Создать связанный блок контента на основе терминов в блоге Drupal 7 ", чтобы получить пошаговую инструкцию для создания этого блока.

0 голосов
/ 15 августа 2011

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

Чтобы блок связанного контента отображал контент на тех же условиях, что и просматриваемый узел, вам потребуетсядобавить аргумент идентификатора таксономического термина в представление.Затем вы можете попробовать «Задать аргумент по умолчанию» и использовать «термин таксономии из URL» (опция узла)

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

например что-то вроде

if($node = menu_get_object()){
  if(isset($node->field_shared_category[$node->language][0]['tid'])){
    return $node->field_shared_category[$node->language][0]['tid'];
  }
}
...