我想创建一个像这样的组织图: https://codepen.io/bernardoantunes/pen/inrbh使用2sic内容。
我想用以下字段创建内容类型“ 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>
答案 0 :(得分:0)
基本上,AsDynamic(...)
创建包装的实体对象,而...parent
为您提供相关项的列表(因为它可能有多个父项)。如果这是您要使用的代码,我建议1件事。
.parent
(可能应该是.Parent)上使用[0]或.FirstOrDefault(),因此它是.Parent.FirstOrDefault() == first
-记住要通过@using System.Linq
启用LINQ 因此,您得到的比较可能是.Parent[0].EntityId == first.EntityId
。
我不喜欢您的解决方案的想法是,默认列表中的第一项将以某种方式成为重要的。这感觉不对,但是我不知道您的整个解决方案...