好吧,我正在制作自己的模块,并希望与一些孩子一起创建一个嵌套区域。片刻,我像
一样创建自己的巢<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]
我想做的(遵循此链接(:
@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";
}
}
它给了我错误:传递"内容"参数,但没有指定。有人可以启发我还是指导我如何正确地?
iirc区域不可能嵌套区域,因为它是直接的孩子。
获得所需的结果:
- 将顶部区域定义为单一组件区域(可能具有自动生成的组件,以便它始终在中(和
- 在上面定义的组件中,定义您想要的嵌套区域。
问题是您仅在控制器中定义了嵌套区域。您还应该将它们嵌套在模板中:
<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]