Узнайте, как ссылаться на шаблон в Symfony 2.7 - PullRequest
0 голосов
/ 26 сентября 2018

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

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

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

Невозможночтобы найти шаблон «AppBundle: Контакт: contact.html.twig» (заглянул в: / 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).

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

1 Ответ

0 голосов
/ 26 сентября 2018

По умолчанию Symfony будет искать в каталогах Resources/views ваших пакетов, чтобы найти шаблоны.Если вам нужен пользовательский путь, например src/MyCompany/AppBundle/Contact, вам придется вручную зарегистрировать его в конфигурации ветки в вашем 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()
));

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

...