我有一个问题,我怎么能正确指定PHP中的函数内的twig模板?我有以下结构:
src
User
EmailBundle
DependencyInjection
Resources
views
Default
email-base.html.twig
Services
我在尝试的是什么:
$template = $this->emailService->getTemplate(
'UserEmailBundle:Default/email-base.html.twig'
)
并且无法正常工作,它会显示无法找到模板的错误。我究竟做错了什么?谢谢
答案 0 :(得分:2)
您的捆绑包是EmailBundle而不是UserEmailBundle,因此请尝试更改:
UserEmailBundle:Default/email-base.html.twig
至EmailBundle:Default/email-base.html.twig
再次看这个问题,也许我错了,你试过了吗?
UserEmailBundle:Default:email-base.html.twig
?
答案 1 :(得分:1)
@Email/Default/email-base.html.twig
有效,或EmailBundle:Default:email-base.html.twig
。
假设这样设置:
src
User
EmailBundle
EmailBundle.php
Resources
views
Default
email-base.html.twig
检查你的composer.json,它应该是这样的:
// ...
"autoload": {
"psr-4": {
"AppBundle\\": "src/AppBundle", "User\\": "src/User"
},
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
// ...
同时确认您已在AppKernel.php中注册了捆绑包:
// ...
$bundles = [
// ...
new \User\EmailBundle\EmailBundle(),
new AppBundle\AppBundle(),
];
// ...