Есть ли способ создать неупорядоченный список с подпунктами от 1 типа контента - PullRequest
0 голосов
/ 06 февраля 2019

Я хотел бы создать органограмму, например: https://codepen.io/bernardoantunes/pen/inrbh, используя 2sic Content.

Я хотел бы создать органограмму типа контента со следующими полями: Заголовок в виде строки Родитель в виде объекта (типа Органограмма) Описание в виде строки в виде гиперссылки

Использование этого содержимого-введите я бы добавить некоторые элементы, где могут быть созданы дочерние элементы.например: - Корень - Дочерний 1 (Корень выбран в родительском поле) - Дочерний 2 (Корень выбран в родительском поле) - Дочерний 3 (Дочерний 2 выбран в родительском поле)

Может ли этосделать с помощью приложения 2sic content?

Я создал тип контента и добавил некоторые элементы.Создал шаблон бритвы, а затем он выдает ошибку.Оператор '==' нельзя применять к операндам типа 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>

1 Ответ

0 голосов
/ 11 февраля 2019

В основном AsDynamic(...) создает обернутые объекты-сущности, тогда как ...parent дает вам список связанных элементов (потому что он может иметь более 1 родителя).Если это код, который вы хотите использовать, я предлагаю 1 вещь.

  1. На .parent (который, вероятно, должен быть .Parent) используйте [0] или .FirstOrDefault (), поэтому .Parent.FirstOrDefault() == first - не забудьте включить LINQ с помощью @using System.Linq
  2. Не сравнивайте объекты AsDynamic, потому что это будут разные объекты.Лучше сравнить идентификатор, используя .EntityId или что-то.

Таким образом, вы получите сравнение, вероятно, будет .Parent[0].EntityId == first.EntityId.

Что мне не нравится в вашем решении, так это мысль о том, что первый элемент в списке по умолчанию будет каким-то важным.Это не правильно, но я не знаю всего вашего решения ...

...