Symfony2 访问 base html 中的值

Symfony2 accessing values in base html

我有一个动态菜单,我想在右上角动态显示我购物车中的产品数量。我所有的树枝都扩展了 base.html.twig,其中我有这个动态菜单。

<div id="mainBody" class="container">
    <header id="header">
    <div class="row">
    <div class="span12">
        <a href="index.html"><img src="{{ asset('bundles/mpshop/img/logo_title.png') }}" alt="Bootsshop"/></a>
    <div class="pull-right"> <br/>
        <a href="{{ path('product_summary') }}"> <span class="btn btn-mini btn-warning"> <i class="icon-shopping-cart icon-white"></i> [ {{ cart|length }} ] </span> </a>
        <a href="{{ path('product_summary') }}"><span class="btn btn-mini active">5.00</span></a>
        <span class="btn btn-mini">&pound;</span>
        <span class="btn btn-mini">&euro;</span> 
    </div>
    </div>
    </div>

但是,当我添加 {{ cart|length }} 时,我得到的变量购物车不存在。 base.html.twig 有自己的控制器吗?如何为基本树枝提供会话购物车,以便它可以看到我的数组?

一种方法是创建一个助手 class 并在菜单(导航栏?)

中包含该 class 的方法

为此,您可以制作一个常规控制器,例如 HelperController.php,然后在该新控制器中创建一个方法,例如 shownumberofproductsAction,然后创建一个相应的视图文件:shownumberofproducts.html.twig

然后在右上角的菜单中只需调用:

{% render controller("MySomethingBundle:Helper:shownumberofproducts") %}