繁体   English   中英

有没有一种方法可以创建包含1个内容类型的子项目的无序列表

[英]Is there a way to create a unordered list with subitems from 1 content-type

我想使用2sic Content创建像如下的组织图: https ://codepen.io/bernardoantunes/pen/inrbh。

我想用以下字段创建内容类型“ organogram”:标题为字符串父项为实体(类型为Organogram)描述为字符串链接为超链接

使用这种内容类型,我会添加一些可以创建子元素的元素。 例如:-根-子1(在“父”字段中选择了根)-子2(在“父”字段中选择了根)-子3(在“父”字段中选择了子2)

可以使用2sic内容应用程序完成此操作吗?

我创建了内容类型并添加了一些元素。 创建一个剃刀模板,然后给出一个错误。 运算符'=='不能应用于类型为System.Collections.Generic.List和ToSic.SexyContent.DynamicEntity的操作数

剃刀模板:

@using Connect.Koi;
@{
var first = AsDynamic(Data["Default"]).First();
var all = AsDynamic(Data["Default"]);
}
<div>@first.Title</div>  
var children = all.Where(x => x.parent == first).ToList();
<div>@children.Count</div>

基本上, AsDynamic(...)创建包装的实体对象,而...parent为您提供相关项目的列表(因为它可能有多个父项)。 如果这是您要使用的代码,我建议1件事。

  1. .parent (可能应该是.Parent)上,使用[0]或.FirstOrDefault(),所以它是.Parent.FirstOrDefault() == first @using System.Linq记住通过@using System.Linq启用LINQ。
  2. 不要比较AsDynamic对象,因为它们将是不同的对象。 最好使用.EntityId或其他方式比较ID。

因此,您得到的比较可能是.Parent[0].EntityId == first.EntityId

我不喜欢您的解决方案的想法是,默认列表中的第一项将以某种方式成为重要的。 这感觉不对,但我不知道您的整体解决方案...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM