Drupal - Друпал:Добавление содержимого в представление

StackOverflow https://stackoverflow.com/questions/1465016

Вопрос

Я создал блок, используя представление, и хотел бы добавить к нему некоторую информацию, которая не может быть получена из самого представления.Мне нужно написать небольшую функцию, которая запрашивает некоторые дополнительные данные.

Я думал поместить эту функцию в MYTHEME_preprocess_node, но когда я ввожу простые $variables['test'] = 'test', а затем выполняю печать $test в одном из файлов .tpl, который выводит содержимое блока, ничего не отображается.

На правильном ли я пути?

Это было полезно?

Решение

Вы также могли бы использовать Theme Info опция в интерфейсе Views для идентификации шаблонов, загруженных Views.Я не уверен, можете ли вы написать функции предварительной обработки для этих шаблонов, но вы можете создать шаблоны переопределения для конкретного вида в своем каталоге тем, следуя схемам имен, предлагаемым в разделе Информация о теме.

Этот шаблон может включать SQL-запросы.

Другие советы

Дело в том, что функция preprocess_ привязана к определенному шаблону.Таким образом, страница предварительной обработки сгенерирует переменные, доступные в page.tpl.php в то время как preprocess_node сделает это для node.tpl.php.Таким образом, вы можете либо использовать MYTHEME_preprocess, который должен выполняться для всех шаблонов, либо использовать MYTHEME_preprocess_templatename.Я не уверен точно, чем схемы именования отличаются от системы именования шаблонов.Однако в модуле devel есть опция, которая позволяет вам видеть, какие функции предварительной обработки выполняются на просматриваемой вами странице, что должно помочь вам понять, как вызывать функцию предварительной обработки, если у вас возникнут проблемы с ее запуском.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top