Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何根据父节点的文档类型在foreach循环中以不同方式显示信息?_Loops_Umbraco_Nodes_Doctype_Umbraco7 - Fatal编程技术网

Loops 如何根据父节点的文档类型在foreach循环中以不同方式显示信息?

Loops 如何根据父节点的文档类型在foreach循环中以不同方式显示信息?,loops,umbraco,nodes,doctype,umbraco7,Loops,Umbraco,Nodes,Doctype,Umbraco7,我有一个foreach循环,它当前显示一个节点列表,然后是一个嵌套的节点列表。我想对其进行一点扩展,以便根据其父节点的doctype,嵌套列表的外观有所不同 以下是我工作的层次结构: 目录doctype是目录登录 Players doctype是Player文件夹 托尔金 刘易斯 当前角色doctype是玩家角色文件夹 凯特尼斯 NPCs doctype是NPC文件夹 兰多 过去字符doctype是过去字符文件夹 埃尔隆德 阿斯兰 所以我想要一个if语句,我想,基本上是询问父节点是否是Playe

我有一个foreach循环,它当前显示一个节点列表,然后是一个嵌套的节点列表。我想对其进行一点扩展,以便根据其父节点的doctype,嵌套列表的外观有所不同

以下是我工作的层次结构:

目录doctype是目录登录 Players doctype是Player文件夹 托尔金 刘易斯 当前角色doctype是玩家角色文件夹 凯特尼斯 NPCs doctype是NPC文件夹 兰多 过去字符doctype是过去字符文件夹 埃尔隆德 阿斯兰 所以我想要一个if语句,我想,基本上是询问父节点是否是Player文件夹,下面每个节点的显示名称和图片,如果是Character文件夹,显示名称和图片以及摘要,如果是其他内容,只显示名称。问题是我不知道如何让它检查它是什么doctype

以下是我目前掌握的代码:

<section id="directoryListing">
<ul>
    @{
        var LogsNode = Model.Content.AncestorOrSelf("DirectoryLanding");
    }
    @foreach (var node in LogsNode.Children.Where("Visible"))
    {
        <li>
            <h2>@node.AsDynamic().Name</h2>
            <ul>
                @foreach (var childnode in node.Children)
                {
                    <!-- If statement would presumably begin here -->
                    <li><!-- each section of the If statement would contain something like this-->
                        <a href="@childnode.Url">@childnode.Name</a>
                    </li>
                    <!-- If statement would presumably end here -->
                }
            </ul>
        </li>
    }
</ul>
</section>

动态版本应该有DocumentTypeAlias属性或NodeTypeAlias

您可以在此处查看适用于v7的酷备忘:


动态版本应该有DocumentTypeAlias属性或NodeTypeAlias

您可以在此处查看适用于v7的酷备忘:

大概是这样的:

<section id="directoryListing">
<ul>
    @{
        var LogsNode = Model.Content.AncestorOrSelf("DirectoryLanding");

        foreach (var node in LogsNode.Children.Where("Visible"))
        {
            <li>
                <h2>@node.Name</h2>
                <ul>
                    @foreach (var childnode in node.Children)
                    {
                        if (childnode.Parent.DocumentTypeAlias == "Character")
                        {
                            <li>
                                <a href="@childnode.Url">@childnode.Name</a>
                            </li>
                        }
                        else if (childnode.Parent.DocumentTypeAlias == "Player")
                        {
                            <li>
                                <a href="@childnode.Url">@childnode.Name</a>
                            </li>
                        }
                    }
                </ul>
            </li>
        }
    }
</ul>
</section>
大概是这样的:

<section id="directoryListing">
<ul>
    @{
        var LogsNode = Model.Content.AncestorOrSelf("DirectoryLanding");

        foreach (var node in LogsNode.Children.Where("Visible"))
        {
            <li>
                <h2>@node.Name</h2>
                <ul>
                    @foreach (var childnode in node.Children)
                    {
                        if (childnode.Parent.DocumentTypeAlias == "Character")
                        {
                            <li>
                                <a href="@childnode.Url">@childnode.Name</a>
                            </li>
                        }
                        else if (childnode.Parent.DocumentTypeAlias == "Player")
                        {
                            <li>
                                <a href="@childnode.Url">@childnode.Name</a>
                            </li>
                        }
                    }
                </ul>
            </li>
        }
    }
</ul>
</section>