【问题标题】:How do I display data from nodes using Umbraco's Multinode Treepicker?如何使用 Umbraco 的多节点 Treepicker 显示来自节点的数据?
【发布时间】:2015-07-10 02:47:01
【问题描述】:

我已经查看了documentation这个属性类型,并尝试了我从论坛中提取的一堆方法,但我真的一点也不明白。它似乎与我迄今为止使用的所有其他属性类型都大不相同。我需要一个我能真正理解的例子。

这就是我正在使用的。我有一个页面,在 foreach 循环中显示日志列表。这些日志本身就是 Umbraco 中的节点,附有 PDF、摘要、日期和多节点树状选择器,允许您选择日志中涉及的人员。我想显示在树选择器中选择的节点的名称。

我的工作代码如下所示(去掉了所有无关的、已经工作的属性):

    @{
        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"-->
    }

我的多节点树选择器称为“字符”。

非常感谢任何帮助!

【问题讨论】:

    标签: razor umbraco umbraco7


    【解决方案1】:

    多节点树选择器只是将所选项目的节点 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>
            }
    
        }
    }
    

    【讨论】:

    • 甜,成功了!现在我也明白了!谢谢。 =D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多