現在、episerver 9 cmsで作業中です。Episerverは編集モードのグリッドで複合データ型をカスタマイズします
私は次のように私のページ/ブロックを持っている:
public class MenuBlock : SiteBlockData
{
[Display(
Name = "Menu title",
Description = "* Required",
GroupName = SystemTabNames.Content,
Order = 1)]
public virtual string MenuTitle { get; set; }
[Display(
Name = "Section",
Description = "Add menu sections",
GroupName = SystemTabNames.Content,
Order = 3)]
[EditorDescriptor(EditorDescriptorType = typeof(CollectionEditorDescriptor<SectionBlock>))]
public virtual IList<SectionBlock> Section { get; set; }
}
public class SectionBlock
{
[Display(
Name = "Section name",
Description = "Select the Menu Image",
GroupName = SystemTabNames.Content,
Order = 1)]
public virtual string SectionName { get; set; }
[Display(
Name = "Dishes",
Description = "Dishes",
GroupName = SystemTabNames.Content,
Order = 2)]
[EditorDescriptor(EditorDescriptorType = typeof(CollectionEditorDescriptor<DishBlock>))]
public virtual IList<DishBlock> Dishes { get; set; }
}
public class DishBlock
{
[Required(ErrorMessage = "Dish name is required")]
[Display(Name = "Dish name",
Description = "* Required",
GroupName = SystemTabNames.Content,
Order = 1)]
public virtual string DishName { get; set; }
[Display(
Name = "Dish description",
Description = "",
GroupName = SystemTabNames.Content,
Order = 2)]
[UIHint(UIHint.Textarea)]
public virtual string DishDescription { get; set; }
[Display(
Name = "Price",
Description = "",
GroupName = SystemTabNames.Content,
Order = 4)]
public virtual double Price { get; set; }
}
あなたが見ることができるように、皿を[オブジェクトのオブジェクト]としてレンダリングされているとしてレンダリングされますdishNameの代わりに使用します。
誰も私にこれを達成する方法を提案できますか?
ありがとうございました。
のpropertylistエディタはまだベータ版であり、そしてそれはとは対照的に、適切にそのユースケース(に複雑なタイプをレンダリングする方法はありません文字列、整数など)。カスタムエディタを使用してプロジェクトでこれを解決しました。 –
@TedNyberg: ご意見ありがとうございます。その場合、どうやってそれを解決したのですか?任意のチュートリアル/リンクは素晴らしいでしょう。どのようにカスタムエディタを使用して解決することができますか? – user1641519
元の 'CollectionEditor'エディタを継承し、オブジェクトのレンダリング方法をオーバーライドしました。 Episerverネイティブエディタのソースコードを見るには、UIソースNuGetパッケージがあることを確認してください。 –