2017-05-31 62 views
0

那麼我正在製作我自己的模塊,並且正在尋找與一些孩子創建嵌套區域。在那一刻,我創造我自己的窩狀嵌套區域Magnolia

<div id="feedGroup"> 
    [@cms.area name="example"/] 
    [@cms.area name="feed"/] 
</div> 

我的一個領域:

@Area("example") 
    @AvailableComponentClasses({Example.class}) 
    public static class ExampleArea { 

     @RequestMapping("/main/example") 
     public String render() { 
      return "pages/areas/example.ftl"; 
     } 
    } 

我FTL例如:

[@cms.component content=component/] 

我FTL飼料:

[#list components as component] 
    [@cms.component content=component/] 
[/#list] 

我想做什麼(按照link):

@Area("feed") 
@Controller 
@AvailableComponentClasses({ContentFeed.class}) 
public static class ContentFeedArea { 

    @Area("example") 
    @AvailableComponentClasses({Example.class}) 
    public static class ExampleArea { 

     @RequestMapping("/main/example") 
     public String render() { 
      return "pages/areas/example.ftl"; 
     } 
    } 

    @RequestMapping("/main/contentFeed") 
    public String render() { 
     return "pages/areas/contentFeed.ftl"; 
    } 
} 

它給我的錯誤:'內容'參數已通過,但沒有或錯誤地指定。有人可以啓發我或指導我如何正確?

回答

0

IIRC區域不能有嵌套區域,因爲它是直接的孩子。

爲了實現所需的結果:

  • 限定頂部區域作爲單分量區(可能具有該組分甚至自動生成所以它總是在),並在上述所定義組分
  • ,定義嵌套你想要的區域。
0

問題是您只在控制器中定義了嵌套區域。你也應該巢他們在模板:

內容的 pages/areas/contentFeed.ftl
<div id="feedGroup"> 
    [@cms.area name="feed"/] 
</div> 

<div> 
    [@cms.area name="example"/]  
</div> 

模板pages/areas/example.ftl應該是:

[#list components as component] 
    [@cms.component content=component/] 
[/#list]