Встраивание представления в тело узла


Я хочу встроить представление в тело узла на Drupal 7. Я пробовал модуль Вставить представление , но это не сработало.

Я также видел поддержку Drupal при вводе PHP-кода, но я понятия не имею, куда поместить этот код.

 3
Author: Pierre.Vriens, 2015-01-07

3 answers

Лучшее решение, которое я нашел до сих пор, - это модуль Вставить представление. Это позволяет вам использовать маркеры в текстовой области для вставки представлений везде, где вы хотите.

Необходимость выписывать токен может быть самым большим недостатком. Я лично хотел бы видеть кнопку WYSIWYG, созданную для использования этого (аналогично сущности вставки токена ), но не слишком сложно обучить пользователей, как ее использовать, введя токен.

Другими негативными моментами могут быть потенциальная производительность и проблемы безопасности. Как говорится в README.txt :

ПРЕДУПРЕЖДЕНИЕ СИСТЕМЫ БЕЗОПАСНОСТИ

Этот фильтр является мощным, поэтому его следует предоставлять только доверенным пользователям. Если вы разрешаете этот фильтр ненадежным пользователям, то вы должны убедиться, что КАЖДЫЙ ПРОСМОТР КАЖДОГО ДИСПЛЕЯ (дисплей по умолчанию также!) имеет правильные настройки доступа к представлениям.

ПРОИЗВОДИТЕЛЬНОСТЬ

Чтобы правильно отображать представления, вставка представления отключает кэширование для входных форматов, для которых оно предназначено включен. Это означает, что каждый узел , использующий этот формат ввода, не будет кэшироваться. Это может повлиять на производительность сайта. В этих случаях рекомендуется создать специальный формат ввода для использования при вставке представлений.

 0
Author: davidneedham, 2015-03-11 17:59:56

Когда я хочу отобразить представление для определенных типов контента, я использую функциональность, предлагаемую модулем EVA: Вложение представлений сущностей. На странице администрирования отображения полей сущности вы можете (как и в любом другом поле) задать порядок вывода результатов представлений.

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

 7
Author: Watergate, 2015-01-07 23:16:08

Вы можете использовать просмотры_эмбед_видов().

<?php 
print  views_embed_view('view-name', 'display-name','arguments'); 
?>

Поместите это в свой page.tpl.php или другой соответствующий файл шаблона в вашей теме. Используйте Devel, чтобы узнать, какой шаблон используется на странице, если это необходимо.

Или вы можете использовать отображение блока в представлении и также назначить свой блок основной области содержимого.

Существует несколько способов выполнения этой задачи. Я рекомендую проверить ссылку на документ выше и прочитать комментарии для других способов.

 2
Author: burnsjeremy, 2015-01-08 03:25:54