#php #symfony #smarty #twig #ezpublish
#php #symfony #smarty #twig #ezpublish
Вопрос:
На моем сайте eZ publish 5 у меня есть все мои шаблоны в Twig, в vendor/ezsystems/ demobundle/EzSystems/ DemoBundle/Resources/ views/ вложенных папках. Все они используются на всем моем сайте, никаких проблем нет. За одним исключением: 404 страницы. Если я перейду на mysite / nonexistingurl, он выдает мне страницу ядра (20) / Ошибки со статусом 404. Для этого используется шаблон 20.tpl где-то в eZ publish / symfony, я этого не хочу, я хочу использовать для этого свой собственный шаблон Twig.
Как я могу этого добиться? Я добавил страницу vendor/ezsystems/ demobundle/EzSystems/DemoBundle/Resources/views/Exception/error.html.twig, но она не вызывается
Комментарии:
1. вы в режиме разработки или prod?
2. в обоих режимах это одно и то же
Ответ №1:
сначала добавьте этот параметр конфигурации
parameters:
ezpublish_legacy.default.module_default_layout: 'YourBundle::pagelayout_legacy.html.twig'
вы можете добавить его в parameters.yml
файл, расположенный в path/to/yourezpublishinstall/ezpublish/config
, parameters.yml
обычно импортируется в config.yml
, расположенный в той же папке
это определило бы шаблон twig, расположенный в path/to/yourbundle/Resources/views/pagelayout_legacy.html.twig
качестве родительского шаблона для шаблонов устаревших модулей стека
внутри pagelayout_legacy.html.twig
шаблона вы можете использовать этот код
{% extends 'YourBundle::pagelayout.html.twig' %}
{% block content %}
{# module_result variable is received from the legacy controller. #}
{% if module_result.errorCode is defined %}
<h1>{{ module_result.errorMessage }} ({{ module_result.errorCode }})</h1>
{% else %}
{{ module_result.content|raw }}
{% endif %}
{% endblock %}
обратите внимание, что в коде шаблон расширяет pagelayout.html.twig
шаблон, который должен здесь определять блок с именем content, pagelayout.html.twig
который обычно может быть основным базовым макетом для вашего веб-сайта ez publish 5
. вы можете изменить pagelayout_legacy.html.twig
шаблон в соответствии с вашими потребностями
ссылка: http://share.ez.no/forums/developer/overriding-legacy-error-pages-templates