我如何使用 Umbraco 的多节点树选择器显示来自节点的数据?
How do I display data from nodes using Umbraco's Multinode Treepicker?
这个属性类型的documentation我已经研究过了,也试了一堆从论坛上拉来的方法,但我真的一点都不懂。它似乎与我迄今为止使用的所有其他 属性 类型都不同。我需要一个我可以真正联系起来的例子。
这是我正在处理的内容。我有一个页面在 foreach 循环中显示日志列表。这些日志本身就是 Umbraco 中的节点,附有 PDF、摘要、日期和多节点树选择器,允许您 select 日志中涉及的人员。我想显示在树选择器中选择的节点的名称。
我的代码看起来像这样(删除了所有无关的、已经工作的属性):
@{
var LogsMonthNode = Model.Content.AncestorOrSelf("LogListing");
}
@foreach (var node in LogsMonthNode.Children.Where("Visible"))
{
<h1 id="#">@node.AsDynamic().Name</h1> <!--This is the log's name.-->
Starring: <!-- Here is where I want a foreach loop (I assume) that basically says "display the .Name of each node in the treepicker"-->
}
我的多节点树选择器称为 "characters"。
非常感谢任何帮助!!
Multinode treepicker 只是将所选项目的节点 id 保存为逗号分隔的字符串。要从中获取属性,您需要首先从节点 ID 中获取实际节点,如下所示。我假设您的 LogsMonthNode
节点子节点具有带有选定节点的多节点树选择器 属性 并相应地编写。
@{
var LogsMonthNode = Model.Content.AncestorOrSelf("LogListing");
}
@foreach (var node in LogsMonthNode.Children.Where("Visible"))
{
<h1 id="#">@node.AsDynamic().Name</h1> <!--This is the log's name.-->
foreach (var item in Umbraco.TypedContent(node.GetPropertyValue<string>("characters").Split(',')))
//get nodes, split ids and get content from umbraco for each id
{
if (item != null)
{
<h2>@item.Name</h2>
}
}
}
这个属性类型的documentation我已经研究过了,也试了一堆从论坛上拉来的方法,但我真的一点都不懂。它似乎与我迄今为止使用的所有其他 属性 类型都不同。我需要一个我可以真正联系起来的例子。
这是我正在处理的内容。我有一个页面在 foreach 循环中显示日志列表。这些日志本身就是 Umbraco 中的节点,附有 PDF、摘要、日期和多节点树选择器,允许您 select 日志中涉及的人员。我想显示在树选择器中选择的节点的名称。
我的代码看起来像这样(删除了所有无关的、已经工作的属性):
@{
var LogsMonthNode = Model.Content.AncestorOrSelf("LogListing");
}
@foreach (var node in LogsMonthNode.Children.Where("Visible"))
{
<h1 id="#">@node.AsDynamic().Name</h1> <!--This is the log's name.-->
Starring: <!-- Here is where I want a foreach loop (I assume) that basically says "display the .Name of each node in the treepicker"-->
}
我的多节点树选择器称为 "characters"。
非常感谢任何帮助!!
Multinode treepicker 只是将所选项目的节点 id 保存为逗号分隔的字符串。要从中获取属性,您需要首先从节点 ID 中获取实际节点,如下所示。我假设您的 LogsMonthNode
节点子节点具有带有选定节点的多节点树选择器 属性 并相应地编写。
@{
var LogsMonthNode = Model.Content.AncestorOrSelf("LogListing");
}
@foreach (var node in LogsMonthNode.Children.Where("Visible"))
{
<h1 id="#">@node.AsDynamic().Name</h1> <!--This is the log's name.-->
foreach (var item in Umbraco.TypedContent(node.GetPropertyValue<string>("characters").Split(',')))
//get nodes, split ids and get content from umbraco for each id
{
if (item != null)
{
<h2>@item.Name</h2>
}
}
}