November Happy Hour will be moved to Thursday December 5th.
AI OnAI Off
November Happy Hour will be moved to Thursday December 5th.
Hi!
One way of doing this without developing any custom properties is to nest your local blocks in another local block. It could look something like this:
public abstract class BlockCollection : BlockData { public abstract IEnumerable<BlockData> GetBlocks(); } [ContentType(DisplayName = "My block collection", Description = "", GUID = "EEEB790D-3C10-4EAB-BAB7-ACBE14780DBC", AvailableInEditMode = false)] public class MyBlockCollection : BlockCollection { public virtual MyFirstBlockType FirstBlock { get; set; } public virtual MySecondBlockType SecondBlock { get; set; } public override IEnumerable<BlockData> GetBlocks() { return new BlockData[] { FirstBlock, SecondBlock }; } }
Then you can have a block view looking like this in ~/Views/Shared/Blocks/BlockCollection.cshtml:
@model BlockCollection @foreach (var block in Model.GetBlocks()) { @Html.PropertyFor(m => block) }
You can actually use the same view for all your block collections inheriting from BlockCollection by registering a template model:
[ServiceConfiguration(typeof(IViewTemplateModelRegistrator))] public class TemplateCoordinator : IViewTemplateModelRegistrator { public const string BlockFolder = "~/Views/Shared/Blocks/"; public void Register(TemplateModelCollection viewTemplateModelRegistrator) { // BlockCollection partial viewTemplateModelRegistrator.Add(typeof(BlockCollection), new TemplateModel { Name = "BlockCollectionView", Inherit = true, AvailableWithoutTag = true, Path = BlockPath("BlockCollection.cshtml") }); } private static string BlockPath(string fileName) { return string.Format("{0}{1}", BlockFolder, fileName); } }
Thank you, i will give this a go although for now have used the MultipleProperty
Im trying to mimic functionality similar to the ElencySolutions.MultipleProperty basically i would like to build up a collection of static blocks and was wondering best way to approach this.
I dont want to use a content area as these blocks are static and not available in Edit mode.