通过ez_content在ezpublish 5中呈现内容:viewLocation,无需配置或匹配规则

时间:2015-04-28 08:54:31

标签: ezpublish

使用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]

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

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

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

2 个答案:

答案 0 :(得分:1)

如果您希望使用match,则需要匹配的配置,但您可以将myview: myview: template: AirplAirplEzBundle::myview.html.twig match: ~ 部分留空,以确保规则始终适用:

myview

请确保此规则是 var testData = [ { Area: "Area 1", Shop: "Shop 1", Val: 5 }, { Area: "Area 1", Shop: "Shop 2", Val: 20 }, { Area: "Area 2", Shop: "Shop 1", Val: 25 }, { Area: "Area 2", Shop: "Shop 2", Val: 40 } ]; res = alasql( 'SELECT CASE WHEN \ GROUPING(Area) = 1 THEN "ALL" ELSE MAX(Area) END AS Area, \ CASE WHEN GROUPING(Area) = 1 THEN "TOTAL" \ GROUPING(Shop) = 1 THEN "SUBTOTAL" ELSE MAX(Shop) END AS Shop,\ SUM(Val) AS Val \ INTO HTML("#res1",{headers:true}) FROM ? \ GROUP BY ROLLUP(Area,Shop)', [testData]);视图类型列表中的最后一个规则,因为适用于自上而下的第一个规则适用。

答案 1 :(得分:0)

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

基本上你可以覆盖ez_content-service的class-paramter,并通过你自己的新类来扩展旧类。 在新课程中,您只需要定义方法" viewLocation"并实现您可能需要的任何映射。

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

希望这有帮助。