Symfony 4.4无法识别子文件夹中Twig文件的问题求助
解决Symfony 4.4 Twig模板识别问题(保留原目录结构)
1. 修正Twig模板引用格式
Symfony 4+ 弃用了旧的 @Bundle:Directory:file.twig 冒号分隔格式,改用斜杠分隔的命名空间写法。将控制器中的渲染代码修改为:
$this->render('@UserBundle/Auth/login.html.twig', []);
原代码中的@App/UserBundle写法不符合Symfony 4+的命名空间规则,需直接使用@UserBundle指向目标Bundle。
2. 配置Twig模板路径映射
在config/packages/twig.yaml中添加UserBundle的视图路径配置,让Twig能定位到对应模板目录:
twig: default_path: '%kernel.project_dir%/templates' paths: # 新增该行,映射UserBundle的视图目录 '%kernel.project_dir%/src/UserBundle/Resources/views': UserBundle
这里的UserBundle就是模板引用中@UserBundle对应的命名空间,直接关联到你的src/UserBundle/Resources/views目录。
3. 确认UserBundle已注册
检查config/bundles.php文件,确保UserBundle已在所有环境中注册:
return [ // ... 其他已注册Bundle App\UserBundle\UserBundle::class => ['all' => true], ];
完成以上操作后,Twig即可正确识别src/UserBundle/Resources/views/Auth/login.html.twig模板文件。
内容的提问来源于stack exchange,提问作者baycisk
相关产品推荐
相关产品推荐

