Узнайте, как следует ссылаться на шаблон в Symfony 2.7

Я создал собственный шаблон, который пытаюсь визуализировать с помощью контроллера. Я поместил шаблон в src/MyCompany/AppBundle/Contact/contact.html.twig и использую эту строку, чтобы попытаться ввести его:

    return $this->render('AppBundle:Contact:contact.html.twig', array(
        'form' => $form->createView()
    ));

Но я получаю это InvalidArgumentException при загрузке контроллера:

Unable to find template "AppBundle:Contact:contact.html.twig" (looked into: /usr/src/app/app/Resources/views, /usr/src/app/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form, /usr/src/app/vendor/knplabs/knp-menu/src/Knp/Menu/Resources/views).

Есть ли простой способ узнать, как я должен ссылаться на этот шаблон?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По умолчанию Symfony будет искать шаблоны в каталогах Resources/views ваших пакетов. Если вам нужен собственный путь, например src/MyCompany/AppBundle/Contact, вам придется вручную зарегистрировать его в конфигурации twig в config.yml:

twig:
     # ...
     paths:
        '%kernel.root_dir%/src/MyCompany/AppBundle/Contact': contact_path

а затем используйте это так:

return $this->render('contact_path:contact.html.twig', array(
    'form' => $form->createView()
));

Документация здесь

В качестве предложения используйте синтаксис Twig @contact_path/contact.html.twig для имен шаблонов Twig, тогда вы не будете зависеть от компонента symfony/templating и дополнительных слоев для его анализа.

yceruto 26.09.2018 14:15

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