php - 了解如何在 Symfony 2.7 中引用模板
问题描述
我创建了一个自定义模板,我试图从控制器呈现。我已将模板放入src/MyCompany/AppBundle/Contact/contact.html.twig
并使用此行尝试将其引入:
return $this->render('AppBundle:Contact:contact.html.twig', array(
'form' => $form->createView()
));
但是在加载控制器时我得到了这个 InvalidArgumentException:
找不到模板“AppBundle:Contact: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)。
有没有一种简单的方法来找出我应该如何引用这个模板?
解决方案
默认情况下,Symfony 会在Resources/views
你的包目录中查找模板。如果您需要自定义路径src/MyCompany/AppBundle/Contact
,则必须在 config.yml 的 twig 配置中手动注册它:
twig:
# ...
paths:
'%kernel.root_dir%/src/MyCompany/AppBundle/Contact': contact_path
然后像这样使用它:
return $this->render('contact_path:contact.html.twig', array(
'form' => $form->createView()
));
文档在这里
推荐阅读
- r - 找不到功能“ggsave”
- statistics - 如何仅使用 SPSS 计算低于和高于 z 分数的分布百分比,而无需手动查看 z 表
- python - Python Sockets:如何检测客户端何时不正常断开连接?(例如 WiFi 断开连接)
- reactjs - 侦听车轮下降和挂载和卸载事件侦听器
- git - 带有大型静态文件的 Git
- matlab - 如何让 MATLAB 从一开始就启动 xtick?
- json - 解码 JSON 并将其与重音字符进行比较
- python - 如何在 Python 中设置两个动作之间的延迟?
- jquery - 尝试将控制台中的多行合并到一个数组
- base64 - Javascript GZIP 和 btoa 并使用 C# 解压缩