在Symfony布局中动态显示信息

在Symfony布局中动态显示信息,symfony,layout,Symfony,Layout,我有一个布局包括在另一个显示我的菜单。“我的菜单项”的标签需要是动态的(如邮箱的未读邮件数)。然后我做了这个: <a href="{{ path('mypath',{'etat': '2' }) }}">My orders</a> ( {{ render(controller('MyController', {'etat':2})) }} <span style="color:red">with {{ render(controller('My

我有一个布局包括在另一个显示我的菜单。“我的菜单项”的标签需要是动态的(如邮箱的未读邮件数)。然后我做了这个:

<a href="{{ path('mypath',{'etat': '2' }) }}">My orders</a>
(
    {{ render(controller('MyController', {'etat':2})) }}
    <span style="color:red">with {{ render(controller('MyController', {'etat':2})) }} in late</span>
)

(
{{render(controller('MyController',{'etat':2}))}
后期使用{render(controller('MyController',{etat':2}))}}
)

我想根据返回控制器的编号显示标签。我不知道如何在变量中获取它。

在控制器中呈现模板时

return$this->render('twig\u template\u name.html.twig',array('variable\u name'=>$variable);

如我所示,将变量传递给选项数组中的细枝模板

{path('mypath',{'etat':'2'}}}

在“mypath”部分下打印routing.yml中定义的路径,并在“mypath”显示绝对路径“www.website.com/yourpath”的情况下,向链接(“?etat=2”)添加GET请求变量

{{path('mypath',{etat':'2'}}}
将生成“www.website.com/yourpath?etat=2”,这将为路由/yourpath/{etat}向您的控制器发送一个值为2的变量etat,因此您现在需要做的就是使用从另一个控制器接收的实际动态值更改2

我不确定etat是什么,但假设它是一篇文章,并且有它的id,你有一个包含大量文章的博客页面,打印这些文章的控制器将一系列文章发送到细枝模板,在细枝模板上,你可以执行以下操作:

{% foreach article in articles %}
    {{ article.title }}
    {{ article.story }}
    <a href="{{ path('single_story_url',{'id': article.id } }}">read more</a>
{% endforeach %}
{%foreach article%}
{{article.title}}
{{article.story}}
{%endforeach%}
最终你会得到这样的结果:

{% foreach article in articles %}
    {{ article.title }}
    {{ article.story }}
    <a href="{{ path('single_story_url',{'id': article.id } }}">read more</a>
{% endforeach %}
吸引人的标题

关于没有bug的代码以及截止日期取决于解决方案的创造性、良好设计和实现的精彩故事

[阅读更多]

当然,您可以点击“阅读更多”并在url~/article/2上结束,因为文章的id为2,该url的控制器在请求中收到一个变量id,您可以执行
$id=$\u GET['id'];
并从存储库中获取文章并将其发送到模板


希望这能回答你的问题,我是一个非常有层次感的人,所以请原谅我的困惑。

你发布的代码似乎不完整。这应该是控制器代码还是细枝代码?然后我需要创建另一个模板?最后,我会让我的布局调用我的控制器,调用我的l中显示的模板ayout?第一个控制器在使用代码的地方呈现模板:
({{render(controller('MyController',{'etat':2}))}}}和{render(controller('MyController',{'etat':2}))}在后面)
和路径()生成的链接twig函数将创建一个带有get参数的链接,从twig调用控制器在您尝试时是不可能的。