【问题标题】:how to use a parameter inside of another parameter in YAML如何在 YAML 中的另一个参数中使用一个参数
【发布时间】:2016-03-03 09:19:47
【问题描述】:

所以我需要在另一个参数中附加一个参数。 像这样(这确实有效)

parameters:
    locationMenuTop: 21142
cjwsiteaccess.textilenetwork_de.parameters:
    locationMenuTop: %locationMenuTop%

但只要尝试更深一步。

parameters:
    nodeSettings: 
         locationMenuTop: 21142
cjwsiteaccess.textilenetwork_de.parameters:
    locationMenuTop: %nodeSettings.locationMenuTop%

它会抛出这个错误

【问题讨论】:

  • 您不能将多维数组用作%array.key%。看看这个问题及其答案:stackoverflow.com/questions/19919679/…
  • 这个问题是指使用依赖注入时连接参数
  • 这就是我不将其标记为重复的原因。问题是一样的。您无法通过执行 %array.key% 来检索作为数组键的参数,而且这无处不在,不仅在服务声明中。此外,给出的答案应该有所帮助。您可以将您的参数定义为nodeSettings.locationMenuTop: 21142,并对nodeSettings 的每个参数执行相同的操作。或者写你自己的ParameterBag
  • 无法编写我自己的参数包,我正在为一家大公司使用此代码,但它并没有给我太大的灵活性,因为 15 个不同的站点在同一代码上运行。但是,您可以发布上面的评论作为我问题的答案。

标签: symfony twig yaml


【解决方案1】:

如果您将参数定义为数组,则无法通过“路径”(即%array.key%)检索它们。

解决方法:

parameters:
    nodeSettings.locationMenuTop: 21142
    nodeSettings.locationMenuBottom: ...
    # And so on
cjwsiteaccess.textilenetwork_de.parameters:
    locationMenuTop: %nodeSettings.locationMenuTop%

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 2016-07-10
    相关资源
    最近更新 更多