如何访问Orchard Core Template中FlowPart的不同Widgets?
我知道我们可以通过以下命令访问FlowPart
{{ Model.Content.FlowPart | shape_render }}
但我需要访问FlowPart部分中的每个小部件。
Model.Content是一个区域形状,通过访问Model.Content.FlowPart,您实际上访问的是放置在内容区域上的FlowPart的形状,而不是实际的FlowPart对象
您可以使用以下内容访问FlowPart对象和所有小部件对象。
Model.Content.FlowPart.FlowPart.Widgets
这里是FlowPart中的小部件。小部件不是形状,因此您需要首先使用shape_build_display构建形状
{% for widget in Model.Content.FlowPart.FlowPart.Widgets %}
{{ widget | shape_build_display: "Detail" | shape_render }}
{% endfor %}
如果您直接想处理数据而不是形状,那么您可以使用以下方法访问JSON数据,以获取任何ContentItem 的JSON
{{ Model.ContentItem.Content }}
为了获得FlowPart JSON对象,您可以执行以下操作
{{ Model.ContentItem.Content.FlowPart }}
或者获取窗口小部件列表JSON数组
{{ Model.ContentItem.Content.FlowPart.Widgets }}