我正在学习 symfony2.3,当我尝试在 twig 模板中获取 Controller 名称时出现错误。
Controller :
namespace Acme\AdminBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class DefaultController extends Controller
{
public function indexAction($name)
{
return $this->render('AcmeAdminBundle:Default:index.html.twig', array('name' => $name));
}
}
在我的 TWIG 模板中:
{% extends '::base.html.twig' %}
{% block body %}
{{ app.request.get('_template').get('controller') }}
Hello {{ name }}!!!
{% endblock %}
输出:
Impossible to invoke a method ("get") on a NULL variable ("") in AcmeAdminBundle:Default:index.html.twig at line 3
我希望输出为“默认”
我正在使用 symfony 2.3,我也尝试过 symfony 2.1,但在两个版本上都会产生相同的错误。
最佳答案
使用这一行在 Twig 中显示 Controller 名称:
{{ app.request.attributes.get("_controller") }}
关于symfony - 在 TWIG 模板中获取 Controller 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17234249/