Здравствуйте, вопрос следующий: есть сайт на drupal 7. в нем есть тип материала "Методика". Нужна возможность создавать вложеные методики которые будут отображаться (если они есть) на странице родительского материала.
Делал так:
1. Для типа материала методика создал новое поле родительская методика - field_parent_method - Node reference (Выбор)- Методика.
2. Создал представление методика methodic(Block):
Содержимое: Опубликовано (Да)
Содержимое: Тип (= Методика)
КОНТЕКСТНЫЕ ФИЛЬТРЫ
Содержимое: родительская методика - ID материала из URL
Предпросмотр с контекстными фильтрами дает то что нужно.
3. Для типа материала Методика в управление отображением поля поставил Rendered View - methodic(Block);
4. В файле шаблона node--metodica.tpl.php добавил вывод поля
<?php print render($content['field_parent_method']); ?>
Теперь создаю новую методику (материал) и задаю ей родителя... но ни чего не отображается. Однако, если еще задать этому родетелю в качестве родителя самого себя то отображается и родитель и потомок.
Такое ощущение что не работают КОНТЕКСТНЫЕ ФИЛЬТРЫ, а точнее по умолчанию не передается ID материала. В чем может быть дело? Или я что-то не так делаю?
ЗЫ: Делать через таксономию не предлагать. нужно выяснить что в этом способе не так.
Комментарии
<?php print views_embed_view('VIEWS_NAME','VIEWS_DISPLAY', arg(1)); ?>
Спасибо большое.
Если кому интересно для моего случая код выглядит так:
<?php print views_embed_view('methodic','block', $node->nid); ?>