我在运行Symfony时遇到了一些麻烦。实际上,它无法找到默认的树枝模板。我根本没有触摸代码,juste生成了我的包并尝试访问/web/app_dev.php。
我的模板位于
/src/OC/PlatformBundle/Resources/views/Default/index.html.twig.
Symfony查看了这些位置,但不是我模板的实际位置。
/app/Resources/views
/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form
DefaultController.php indexAction()看起来没问题:
public function indexAction(){
return $this->render("OCPlatform:Default:index.html.twig");
}
如果你们中的任何人遇到过这类问题,或者想知道问题出在哪里,我会事先感谢你的帮助。
亚瑟
答案 0 :(得分:1)
我遇到同样的问题,我用这条路线解决了这个问题:
public function indexAction(){
return $this->render("@OCPlatform/Default/index.html.twig");
}
使用“/”编辑“:”并且它可以正常工作。 也许可以帮助其他开发者
答案 1 :(得分:1)
如果您想继续使用模板的'OCPlatform:Default:index.html.twig'格式,请编辑您的app / config / config.yml文件:
#app/config/config.yml framework: templating: engines: ['twig']
这解决了我的问题。你可以查看这个链接 Symfony 3.4 Use view inside my bundle
答案 2 :(得分:0)
Following the docs(Symfony> = 3.4)您应该在控制器中写出模板的路径,如下所示:
public function indexAction(){
return $this->render("@OCPlatform:Default:index.html.twig");
}
答案 3 :(得分:0)
这对我有用:
return $this->render('@HomeBundle/Default/index.html.twig');
希望它:)
答案 4 :(得分:0)
捆绑参考模板¶
如果需要引用捆绑软件中的模板,则Symfony使用
Twig命名空间语法(@ BundleName / directory / filename.html.twig)。
这允许使用几种类型的模板,每种模板都位于特定的位置:
@AcmeBlog/Blog/index.html.twig: <br>This syntax is used to specify a template for a specific page. The three parts of the string, each separated by a slash (/), mean the following:<br>
@AcmeBlog: is the bundle name without the Bundle suffix. This template lives in the AcmeBlogBundle (e.g. src/Acme/BlogBundle);<br>
Blog: (directory) indicates that the template lives inside the Blog subdirectory of Resources/views/;<br>
index.html.twig: (filename) the actual name of the file is index.html.twig.
答案 5 :(得分:0)
在symfony 4中使用此:
return $this->render("@Platform/Default/index.html.twig");