0

如何在 Orchard Core 模板中访问 FlowPart 的不同小部件?

我知道我们可以通过以下命令访问 FlowPart

{{ Model.Content.FlowPart | shape_render }}

但我需要访问 FlowPart 部分中的每个小部件。

4

1 回答 1

1

Model.Content 是一个区域形状,通过访问 Model.Content.FlowPart,您实际上是在访问放置在内容区域上的 FlowPart 的形状,而不是实际的 FlowPart 对象

您可以使用以下方法访问 FlowPart 对象和所有小部件对象。

Model.Content.FlowPart.FlowPart.Widgets

FlowPart.Widgets 中的小部件不是形状,因此您需要先使用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 }}
于 2019-12-03T22:28:08.430 回答