Мы получили ниже ошибки на главной странице:
eZTemplate @ design/dffestival/templates/page_footer.tpl:8[6]:
Unknown template variable 'view_parameters' in namespace ''
В нашем pagefooter.tpl
Файл имеет следующий код:
<div class="attribute-layout">
{attribute_view_gui attribute=$footerNode.data_map.layout view_parameters=$view_parameters}
</div>
Мы используем eZ Publish Community Project 2012.6
версия.
Может ли кто-нибудь объяснить, почему я не могу получить view_parameters
переменная и как это сделать получить?
Спасибо
Сунил
Может быть, вы должны начать здесь:
http://www.ezpedia.org/ez/view_parameters
Помните, что параметры просмотра по умолчанию доступны только в пределах
контекст модуля контента и его просмотров.Все остальные модули (по умолчанию) не поддерживают эту функцию.
Рекомендуемая альтернатива для просмотра параметров в этих ситуациях
вместо этого будет использовать параметры get / post.
В некоторых случаях $ view_parameters не будет работать, попробуйте
там $ module_result.view_parameters. Так что пример выше будет:
Цвет: {$ module_result.view_parameters.color}
Количество
is: {$ module_result.view_parameters.amount}
Или здесь (проверьте раздел $ module_result):
https://doc.ez.no/eZ-Publish/Technical-manual/3.10/Templates/The-pagelayout/Variables-in-pagelayout
Короткий ответ :
Вы пытаетесь получить $view_parameters
в макете страницы (или шаблон, включенный в него). Это невозможно по замыслу, и это совершенно нормально.
Длинный ответ:
Параметры представления предназначены для использования из представлений / шаблонов, которые используются модулем контента: например, при просмотре контента с его псевдонима URL или с использованием его системного URL, например /content/view/full/2
,
Они полезны, если вы хотите передать некоторые параметры из URL-адреса в представление контента, и они учитываются системой кэширования, что очень важно иметь в виду (это не тот случай, когда используются «ванильные» параметры GET).
Основное использование для нумерации страниц, например: /content/view/full/2/(offest)/2/(limit)10
Одна из лучших практик при разработке с использованием eZ Publish (прежняя версия) — спросить себя: зачем вам эти параметры извлекать в макет? Я думаю, что вы хотите контролировать свой глобальный макет, используя их, и это не очень хорошая идея.
Если вы хотите управлять макетом на основе чего-то, что зависит от содержимого, я предлагаю использовать постоянные переменные. Вы будете в основном использовать ezpagedata_set
оператор в шаблоне содержимого / просмотра и получить это значение в макете страницы с помощью ezpagedata()
| увидеть https://doc.ez.no/doc_hidden/eZ-Publish/Technical-manual/4.x/Reference/Template-operators/Miscellaneous/ezpagedata_set
И последнее, но не менее важное: помните, что результат модуля вычисляется до разметки страницы (просто потому, что разметка страницы будет включать этот результат, используя $module_result.content
).