Loops 如何根据父节点的文档类型在foreach循环中以不同方式显示信息?
我有一个foreach循环,它当前显示一个节点列表,然后是一个嵌套的节点列表。我想对其进行一点扩展,以便根据其父节点的doctype,嵌套列表的外观有所不同 以下是我工作的层次结构: 目录doctype是目录登录 Players doctype是Player文件夹 托尔金 刘易斯 当前角色doctype是玩家角色文件夹 凯特尼斯 NPCs doctype是NPC文件夹 兰多 过去字符doctype是过去字符文件夹 埃尔隆德 阿斯兰 所以我想要一个if语句,我想,基本上是询问父节点是否是Player文件夹,下面每个节点的显示名称和图片,如果是Character文件夹,显示名称和图片以及摘要,如果是其他内容,只显示名称。问题是我不知道如何让它检查它是什么doctype 以下是我目前掌握的代码: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
<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>