【问题标题】:render content in ezpublish 5 via ez_content:viewLocation without configuration or matching rules通过 ez_content:viewLocation 在 ezpublish 5 中呈现内容,无需配置或匹配规则
【发布时间】:2015-07-07 00:39:37
【问题描述】:

使用 ezpublish 2014.11 我想使用它来渲染位置:

{{ render( controller("ez_content:viewLocation", { "locationId": location.id, "viewType":"myview" } )) }}

每个内容都使用相同的模板。

换句话说,我不想像这样在ezpublish.yml 中定义匹配规则:

myview:
    myview:
        template: AirplAirplEzBundle::myview.html.twig
        match:
            Identifier\ContentType: [my_type]

如果可能的话,我根本不需要任何配置。

是否有某种默认模板视图位置,我可以在其中放置我的 twig 模板,以便 ez_content:viewLocation 仅基于 viewType 可以访问它们?

如果没有,有没有什么方法可以在没有匹配规则的情况下进行模板配置?

【问题讨论】:

    标签: ezpublish


    【解决方案1】:

    您可以覆盖“ez_content:viewLocation”以映射到另一个服务。

    基本上,您可以覆盖 ez_content-service 的类参数,并通过您自己的新类扩展旧类。 在您的新类中,您只需要定义方法“viewLocation”并实现您可能需要的任何映射。

    一种更简洁的方法是将所有类标识符添加到一个匹配器中。 这样一来,如果您想在某天获取另一个模板,您就有更多的控制权。

    希望这会有所帮助。

    【讨论】:

    • 我将所有类标识符添加到匹配器中,但这不是很方便,因为我现在在 ezpublish.yml 中有几个相同的长类列表。创建我自己的 viewLocation 看起来是一个更好的解决方案,但我想知道是否有类似 eZ Publish 4 中的“本地”解决方案
    【解决方案2】:

    如果您想使用ez_content:viewLocation,则需要匹配的配置,但您可以将match 部分留空,以确保规则始终适用:

    myview:
        myview:
            template: AirplAirplEzBundle::myview.html.twig
            match: ~
    

    不过,请确保此规则是 myview 视图类型列表中的最后一条,因为第一个匹配自上而下的规则适用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 2018-10-24
      相关资源
      最近更新 更多