为所有渲染添加一个变量

马蒂亚斯贝

我正在运行一个 symfony 应用程序,我想从所有控制器到所有渲染设置一个新变量。

原因是页脚中的某些内容变得动态并且符合 MVC 模式,我想将这些新数据的处理放在我的控制器中。

用 symfony 做到这一点的好方法是什么?

编辑

我没有将 symfony 用作 REST API,Symfony 服务器仅以 HTML 形式提供树枝渲染模板。

我的案例详情

当前的树枝模板具有表单的硬编码标题:

<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 调用,也不想在我的模板中放入复杂的树枝代码。我想通过控制器来处理这个。

基因组

请阅读有关使用全局变量的官方文档

在我的头顶 - 你可以注射...

  1. ...来自全局树枝配置的标量值
  2. ...来自服务容器参数的标量值
  3. ...服务(读取 php 对象)

或者您可以编写 Twig 扩展,例如:

class DateExtension extends \Twig_Extension
{
    public function getFunctions()
    {
        return [
            new \Twig_SimpleFunction('get_date', array($this, 'getDate'))
        ];
    }


    public function getDate($date)
    {
        // format it how you want
        return (new \DateTime($date))->format('Y-m-d H:i:s');
    }
}

然后只需通过以下方式在任何模板中使用它:

<div>
    <h2>{{ get_date('today') }}</h2>
    <!-- today's inputs .... -->
</div>
<div>
    <h2>{{ get_date('tomorrow') }}</h2>
    <!-- tomorrow's inputs .... -->
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

分层处理ID变量的所有值,并添加另一个变量的值

来自分类Dev

在所有活动之上添加一个视图

来自分类Dev

Javascript:当一个变量为true时,将所有其他变量设置为false

来自分类Dev

如何快速列出一个类的所有变量

来自分类Dev

R中的ifelse:如果对3个向量求值的3个条件中的任意一个为真,则向所有向量添加一个常数

来自分类Dev

循环遍历select的所有元素,如果其中一项为空,则添加一个空白选项

来自分类Dev

更改一个变量会以相同方式更改所有其他变量

来自分类Dev

在Rails中为所有控制器创建一个全局变量

来自分类Dev

libgdx:当我使用Shaperenderer添加一个actor时,为什么我所有的actor都不渲染?

来自分类Dev

log4j为来自一个抽象类的所有消息添加前缀

来自分类Dev

转换data.frame中除一个变量外的所有变量

来自分类Dev

仅更新一个状态变量时,所有组件都会重新渲染

来自分类Dev

为DataFrame中的每个变量x计算一个变量y,并添加相对频率

来自分类Dev

如何使用jQuery为一个兄弟姐妹元素的所有父母添加类

来自分类Dev

将一个TBD变量以外的所有变量初始化为一个公共值

来自分类Dev

如何使只有一个变量的值为0?

来自分类Dev

循环遍历select的所有元素,如果其中一项为空,则添加一个空白选项

来自分类Dev

将变量折叠为一个具有保留变量名称的值的变量

来自分类Dev

为项目/工作区中的所有Xcode目标声明一个公共Xcode变量以在plist中使用

来自分类Dev

如何在C#中为我的所有表单添加一个按钮

来自分类Dev

为dotTrace添加一个TeamCity构建步骤,并为所有单元测试设置阈值

来自分类Dev

将所有查询的列打印为一个

来自分类Dev

OWL,为一个类的所有实例添加一个属性

来自分类Dev

如何为一个 ID 下的所有文本输入添加一个类?

来自分类Dev

在 PHP 中为二维数组中的所有数组添加一个 key=>value

来自分类Dev

如何从所有单元格获取所有文本到一个变量?

来自分类Dev

给定一个变量名数组/列表,如果变量为空,则将所有变量名打印为字符串

来自分类Dev

Rails 控制器渲染所有测试的最后一个迭代模板

来自分类Dev

为所有 Angular 模型添加一个子类

Related 相关文章

  1. 1

    分层处理ID变量的所有值,并添加另一个变量的值

  2. 2

    在所有活动之上添加一个视图

  3. 3

    Javascript:当一个变量为true时,将所有其他变量设置为false

  4. 4

    如何快速列出一个类的所有变量

  5. 5

    R中的ifelse:如果对3个向量求值的3个条件中的任意一个为真,则向所有向量添加一个常数

  6. 6

    循环遍历select的所有元素,如果其中一项为空,则添加一个空白选项

  7. 7

    更改一个变量会以相同方式更改所有其他变量

  8. 8

    在Rails中为所有控制器创建一个全局变量

  9. 9

    libgdx:当我使用Shaperenderer添加一个actor时,为什么我所有的actor都不渲染?

  10. 10

    log4j为来自一个抽象类的所有消息添加前缀

  11. 11

    转换data.frame中除一个变量外的所有变量

  12. 12

    仅更新一个状态变量时,所有组件都会重新渲染

  13. 13

    为DataFrame中的每个变量x计算一个变量y,并添加相对频率

  14. 14

    如何使用jQuery为一个兄弟姐妹元素的所有父母添加类

  15. 15

    将一个TBD变量以外的所有变量初始化为一个公共值

  16. 16

    如何使只有一个变量的值为0?

  17. 17

    循环遍历select的所有元素,如果其中一项为空,则添加一个空白选项

  18. 18

    将变量折叠为一个具有保留变量名称的值的变量

  19. 19

    为项目/工作区中的所有Xcode目标声明一个公共Xcode变量以在plist中使用

  20. 20

    如何在C#中为我的所有表单添加一个按钮

  21. 21

    为dotTrace添加一个TeamCity构建步骤,并为所有单元测试设置阈值

  22. 22

    将所有查询的列打印为一个

  23. 23

    OWL,为一个类的所有实例添加一个属性

  24. 24

    如何为一个 ID 下的所有文本输入添加一个类?

  25. 25

    在 PHP 中为二维数组中的所有数组添加一个 key=>value

  26. 26

    如何从所有单元格获取所有文本到一个变量?

  27. 27

    给定一个变量名数组/列表,如果变量为空,则将所有变量名打印为字符串

  28. 28

    Rails 控制器渲染所有测试的最后一个迭代模板

  29. 29

    为所有 Angular 模型添加一个子类

热门标签

归档