Согласно этой ссылке на модуль документации представлений, эта функция одинаково доступна на Drupal 6 и 7. Попробуйте со вторым параметром $ display_id вашего представления.
Чтобы отобразить представление в шаблоне узла, используйте следующий код.
// Load the view.
$view = views_get_view('machine_name_of_view');// Set the active display.
$view->set_display('your_view_display_name');// Set any needed argument.
$view->set_arguments(array(arg(0), arg(1)));// Execute the view.
$view->execute();// Render the view.print $view->render();
VIEWFIELD !!!! О, МОЙ БОГ!!! Я несколько дней искал эту функциональность, пробовал много модулей, это спасало меня! : D спасибо!
DrCord
@DrCord, также посмотрите модули Eva и views_field_view, это почти одно и то же.
timofey.com
Я не мог заставить Ева делать то, что я хотел.
DrCord
1
Одним из решений является использование Panelizer для переопределения содержимого соответствующего узла.
Допустим, например, у вас есть несколько разовых страниц, которым нужно приложить представление.
1) Вы можете использовать тип содержимого страницы или создать новый тип содержимого, который будет специально панелироваться.
2) Включите Panelizer для этого типа контента, убедитесь, что для него установлен параметр «Разрешить выбор отображения для каждой записи», чтобы можно было настроить несколько дисплеев Panelizer, которые будут адаптированы для каждого из них вне страницы. (к каждому дисплею панели может быть прикреплен собственный набор представлений)
3) Отсюда вы просто создаете представление (для этого мне нравится использовать панели содержимого) и добавляете его на выбранный дисплей содержимого Panelizer.
Это позволяет вам повторно использовать один тип контента, который на самом деле не нуждается в собственном наборе полей, но потенциально может использоваться либо для ссылки на другие объекты (как поле), либо для ссылки на представления.
Добавьте модуль Paragraphs, и вы получите тип контента «Швейцарский армейский нож». Говоря о том, что было бы идеальным именем для пользовательского типа контента, используемого для этой цели ... Хм ....
Давайте просто отметим, что первый параметр - это имя представления, второе отображаемое имя, и после этого вы можете передавать параметры контекстного фильтра.
Так что «$ node-nid», третий параметр зависит от вашего представления ... что он ожидает от первого контекстного фильтра - идентификатор не обязательно должен быть идентификатором узла. Конечно, вы не ограничены одним параметром - передайте столько, сколько вы имеете в виду ... или не передавайте ни одного, если ваше представление не имеет контекстных фильтров.
Ответы:
В Drupal 7 вы можете использовать этот код.
Для просмотра страницы
Для блока просмотра
источник
Модуль EVA также может прикреплять представления к узлам.
источник
Чтобы отобразить представление в шаблоне узла, используйте следующий код.
источник
pre_execute()
доexecute()
.Почему бы нет:
где $ arg, $ arg2 и т. д. являются необязательными.
Или используйте модуль Viewfield для встраивания представления в качестве поля.
источник
Одним из решений является использование Panelizer для переопределения содержимого соответствующего узла.
Допустим, например, у вас есть несколько разовых страниц, которым нужно приложить представление.
1) Вы можете использовать тип содержимого страницы или создать новый тип содержимого, который будет специально панелироваться.
2) Включите Panelizer для этого типа контента, убедитесь, что для него установлен параметр «Разрешить выбор отображения для каждой записи», чтобы можно было настроить несколько дисплеев Panelizer, которые будут адаптированы для каждого из них вне страницы. (к каждому дисплею панели может быть прикреплен собственный набор представлений)
3) Отсюда вы просто создаете представление (для этого мне нравится использовать панели содержимого) и добавляете его на выбранный дисплей содержимого Panelizer.
Это позволяет вам повторно использовать один тип контента, который на самом деле не нуждается в собственном наборе полей, но потенциально может использоваться либо для ссылки на другие объекты (как поле), либо для ссылки на представления.
Добавьте модуль Paragraphs, и вы получите тип контента «Швейцарский армейский нож». Говоря о том, что было бы идеальным именем для пользовательского типа контента, используемого для этой цели ... Хм ....
источник
Давайте просто отметим, что первый параметр - это имя представления, второе отображаемое имя, и после этого вы можете передавать параметры контекстного фильтра.
Так что «$ node-nid», третий параметр зависит от вашего представления ... что он ожидает от первого контекстного фильтра - идентификатор не обязательно должен быть идентификатором узла. Конечно, вы не ограничены одним параметром - передайте столько, сколько вы имеете в виду ... или не передавайте ни одного, если ваше представление не имеет контекстных фильтров.
источник
Очень настраиваемый модуль Drupal 7 и 8 - views_field_formatter, который позволяет вам встраивать вид как средство форматирования полей.
источник