Get/Set 块上的列表字段
Get/Set List Field on Blocks
这个在我的 class 在 Models.Regions
public class Slider
{
[Field]
public StringField Title { get; set; }
[Field]
public TextField Description { get; set; }
[Field]
public ImageField Background { get; set; }
[Field(Title = "Text on Button")]
public StringField NameButton { get; set; }
[Field]
public StringField Link { get; set; }
}
在 Models.Blocks 中,我制作了一个名为 SliderBlock.cs 的块,我需要插入一个滑块列表
[BlockType(Name = "Slider", Category = "Content")]
public class SliderBlock : Block
{
public List<Models.Regions.Slider> Sliders { get; set; }
}
如何查看管理员的列表?
块的方法略有不同,不幸的是,这方面的文档不是最新的。要创建 Block 列表,您可以使用 BlockGroup,对于接受单一类型元素的滑块,代码可以是:
[BlockGroupType(Name = "Slider", Category = "Content")]
[BlockItemType(Type = typeof(SliderItemBlock))]
public class SliderGroup : BlockGroup
{
}
[BlockType(Name = "Slider Item", Category = "Content", IsUnlisted = true)]
public class SliderItemBlock : Block
{
[Field]
public StringField Title { get; set; }
[Field]
public TextField Description { get; set; }
[Field]
public ImageField Background { get; set; }
[Field(Title = "Text on Button")]
public StringField NameButton { get; set; }
[Field]
public StringField Link { get; set; }
}
关于示例代码的一些注释。
- 如您所见,
SliderGroup
实际上也是一个 Block。这意味着如果您想要对所有项目都有效的全局字段,您也可以将字段添加到块组,例如 背景颜色 。如果你想这样做,你需要将 UseCustomView = true
添加到 BlockGroupType
属性,并在处理全局字段时为块组提供一个 EditorTemplate。
- 在
BlockType
属性中我添加了 IsUnlisted = true
。这意味着 SliderItemBlock
将 只有 在将项目添加到 SliderGroup
时可见,而不是在将块添加到常规页面流时可见。
- 您可以为一个组指定多个
BlockItemType
属性,这将使您有可能拥有支持不同类型项目的滑块。如果您不向组中添加任何 BlockItemType
属性 所有 块类型都可以添加到组中。
- 不要忘记块组需要注册,就像普通块一样。
2019-09-26 更新
我们更新了文档以包含有关如何创建自定义块组的部分,您可以在此处阅读:
http://piranhacms.org/docs/extensions/custom-block-groups
此致
哈坎
这个在我的 class 在 Models.Regions
public class Slider
{
[Field]
public StringField Title { get; set; }
[Field]
public TextField Description { get; set; }
[Field]
public ImageField Background { get; set; }
[Field(Title = "Text on Button")]
public StringField NameButton { get; set; }
[Field]
public StringField Link { get; set; }
}
在 Models.Blocks 中,我制作了一个名为 SliderBlock.cs 的块,我需要插入一个滑块列表
[BlockType(Name = "Slider", Category = "Content")]
public class SliderBlock : Block
{
public List<Models.Regions.Slider> Sliders { get; set; }
}
如何查看管理员的列表?
块的方法略有不同,不幸的是,这方面的文档不是最新的。要创建 Block 列表,您可以使用 BlockGroup,对于接受单一类型元素的滑块,代码可以是:
[BlockGroupType(Name = "Slider", Category = "Content")]
[BlockItemType(Type = typeof(SliderItemBlock))]
public class SliderGroup : BlockGroup
{
}
[BlockType(Name = "Slider Item", Category = "Content", IsUnlisted = true)]
public class SliderItemBlock : Block
{
[Field]
public StringField Title { get; set; }
[Field]
public TextField Description { get; set; }
[Field]
public ImageField Background { get; set; }
[Field(Title = "Text on Button")]
public StringField NameButton { get; set; }
[Field]
public StringField Link { get; set; }
}
关于示例代码的一些注释。
- 如您所见,
SliderGroup
实际上也是一个 Block。这意味着如果您想要对所有项目都有效的全局字段,您也可以将字段添加到块组,例如 背景颜色 。如果你想这样做,你需要将UseCustomView = true
添加到BlockGroupType
属性,并在处理全局字段时为块组提供一个 EditorTemplate。 - 在
BlockType
属性中我添加了IsUnlisted = true
。这意味着SliderItemBlock
将 只有 在将项目添加到SliderGroup
时可见,而不是在将块添加到常规页面流时可见。 - 您可以为一个组指定多个
BlockItemType
属性,这将使您有可能拥有支持不同类型项目的滑块。如果您不向组中添加任何BlockItemType
属性 所有 块类型都可以添加到组中。 - 不要忘记块组需要注册,就像普通块一样。
2019-09-26 更新
我们更新了文档以包含有关如何创建自定义块组的部分,您可以在此处阅读:
http://piranhacms.org/docs/extensions/custom-block-groups
此致
哈坎