我正在创建自己的模块,并希望创建一个带有一些孩子的嵌套区域。我正在创建自己的巢,如
<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 Feed:
[#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";
}
}
它给了我错误:&#39;内容&#39;参数已传递但未指定或错误指定。有人可以启发我或指导我如何正确吗?
答案 0 :(得分:0)
IIRC区域不能有嵌套区域,因为它是直接的孩子。
达到预期效果:
答案 1 :(得分:0)
问题是您只在控制器中定义了嵌套区域。您还应该将它们嵌套在模板中:
<div id="feedGroup">
[@cms.area name="feed"/]
</div>
pages/areas/contentFeed.ftl
的内容:
<div>
[@cms.area name="example"/]
</div>
模板pages/areas/example.ftl
应为:
[#list components as component]
[@cms.component content=component/]
[/#list]