symfony - 在 TWIG 模板中获取 Controller 名称

标签 symfony controller twig

我正在学习 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/

相关文章:

javascript - JavaScript 中的 Assets - Symfony2

javascript - 将javascript变量分配给twig变量symfony 2

php - Symfony 3.1 和 OneUpUploaderBundle + Blueimp = UploadListener 未被调用

java - 如何通过 Autowiring 服务测试 spring-boot 上的 Controller 层?

php - 没有教义的 Symfony2 身份验证(登录)?

php - 从 db 获取数据到 laravel 5.2 中的 View 的问题

spring - 是否可以跨多个 Controller 访问 Spring MVC 带注释的 session 变量?

php - 如何在 twig 中显示使用 gaufrette 上传的文件的链接?

php - 如何使用(链?)多个标准化器与 Symfony 序列化器?

symfony - 修复 Symfony2 中的要求