Symfony 树枝中的嵌入式控制器
大家好,这是我的控制器:Symfony 树枝中的嵌入式控制器,symfony,controller,twig,Symfony,Controller,Twig,大家好,这是我的控制器: <?php namespace ng\NearBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class WelcomeController extends Controller { public function indexAction() { return $this->render('ngNearBundle:Welcom
<?php
namespace ng\NearBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class WelcomeController extends Controller
{
public function indexAction()
{
return $this->render('ngNearBundle:Welcome:index.html.twig', array('nom' => 'winzou'));
}
public function Header(){
return $this->render('ngNearBundle:Welcome:nav.html.twig', array('nom' => 'winzou'));
}
public function Body(){
return $this->render('ngNearBundle:Welcome:nav.html.twig', array('nom' => 'winzou'));
}
}
我有一个错误:
An exception has been thrown during the rendering of a template ("The controller for URI "/_fragment" is not callable.") in ngNearBundle:Welcome:index.html.twig at line 2.
有人知道原因以及如何正确嵌入控制器吗?Symfony2中控制器方法的约定规定,在方法名称的末尾有操作 因此,通过改变你的方法:
public function HeaderAction(){
return $this->render('ngNearBundle:Welcome:nav.html.twig', array('nom' => 'winzou'));
}
public function BodyAction(){
return $this->render('ngNearBundle:Welcome:nav.html.twig', array('nom' => 'winzou'));
}
您将获得所需的结果。并负责渲染,它会在内部使用大量资源。它就像一个新请求一样,如果可能,请使用twig include如果您试图在twig而不是URL中渲染控制器,则必须启用Symfony fragments配置: app/config/config.yml 快看一眼;如果不需要代码隐藏,请使用“包含”:
public function HeaderAction(){
return $this->render('ngNearBundle:Welcome:nav.html.twig', array('nom' => 'winzou'));
}
public function BodyAction(){
return $this->render('ngNearBundle:Welcome:nav.html.twig', array('nom' => 'winzou'));
}
framework:
# ...
fragments: { path: /_fragment }