【发布时间】:2017-09-06 12:12:40
【问题描述】:
我正在运行一个 symfony 应用程序,我想设置一个从所有控制器到所有渲染的新变量。
原因是我的页脚中的某些内容已变为动态并且符合 MVC 模式,我想将这些新数据的处理放在我的控制器中。
用 symfony 做这件事的好方法是什么?
编辑
我没有将 symfony 用作 REST API,Symfony 服务器仅将 twig 呈现的模板作为 HTML 提供。
我的案例详情:
当前的 twig 模板具有硬编码的表单标题:
<div>
<h2>Today</h2>
<!-- today's inputs .... -->
</div>
<div>
<h2>Tomorrow</h2>
<!-- tomorrow's inputs .... -->
</div>
我想为我的观点提供变量:$today 和 $tomorrow。
这样我就可以呈现日期名称而不是今天或明天。
<div>
<h2>{{ today }}</h2>
<!-- today's inputs .... -->
</div>
<div>
<h2>{{ tomorrow }}</h2>
<!-- tomorrow's inputs .... -->
</div>
例如,如果今天是星期二,则必须以这种方式分配变量:
$today = "Tuesday" 和 $tomorrow = "Wednesday"。
还有
这不是关于这个具体案例的问题。我现在想知道是否有一种方法可以将变量传递给所有视图而无需编辑所有控制器。正如我所看到的,我会为所有控制器添加一个父操作来生成这个变量。我只是想知道这是否是通常的方式。
我不想使用 ajax 调用,也不想将复杂的 twig 代码放入我的模板中。我想通过控制器来处理这个问题。
【问题讨论】:
-
你能发布一些现有控制器和模板的代码吗?
标签: symfony model-view-controller