如何在AppBundle中添加视图?

时间:2016-12-11 12:55:20

标签: php symfony

我正在尝试在symfony3中进行实验。我正在尝试将其搜索到谷歌,但我没有找到他们的明确答案。这是symfony中的默认控制器

class DefaultController extends Controller
{
    /**
     * @Route("/", name="homepage")
     */
    public function indexAction(Request $request)
    {
        // replace this example code with whatever you need
        return $this->render('default/index.html.twig', [
            'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
        ]);
    }
}

如果看到返回渲染。它将显示 app / Resources / views / default / index.html.twig 中的 default / index.html.twig 我想知道是否可以放我的AppBundle文件夹中的视图文件夹?这是AppBundle中的列表文件夹

AppBundle
 -Controller
 -Entity
 -Form
 -Resources
    -views
      -default
        -index.html.twig

如何将其链接到AppBundle下的资源?如果您有教程请提供链接。提前谢谢

1 个答案:

答案 0 :(得分:3)

Symfony2以AppBundle / Resources下的视图开头,Symfony3尝试鼓励您将前端(html / js / css)与Business php Bundle分开,方法是将它们放在app/Resources中。

无论如何,如果你想按照你的描述构建代码(比如symfony2标准),要使用的语法是bundle:folder:subdirs/views.html.twig

AppBundle // first parameter
 -Controller
 -Entity
 -Form
 -Resources
    -views
      -default //second parameter
        - index.html.twig
        - subfolder
           - _included.html.twig
           - subsubfolder
              - _very_included.html.twig

在这个例子中:

  • index.html.twig语法为AppBundle:default:index.html.twig
  • _included.html.twig语法为AppBundle:default:subfolder/_included.html.twig
  • _very_included.html.twig语法为AppBundle:default:subfolder/subsubfolder/_very_included.html.twig

对于您的具体问题,它将是AppBundle:default:index.html.twig