Try our conversational search powered by Generative AI!

Loading...
Area: Optimizely CMS
ARCHIVED This content is retired and no longer maintained. See the latest version here.

Recommended reading 

Example

The example below shows how to create the component container used for adding personalized gadgets.

C#
using System;
using System.Collections.Generic;

namespace EPiServer.Shell.ViewComposition.Containers
{
    /// <summary>
    /// An extension of the grid container providing component management
    /// </summary>
    [Component(IsAvailableForUserSelection = false)]
    public class ComponentContainer : ContainerBase
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="ComponentContainer"/> class.
        /// </summary>
        public ComponentContainer() : this("epi.shell.widget.layout.ComponentContainer") { }

        /// <summary>
        /// Initializes a new instance of the <see cref="ComponentContainer"/> class.
        /// </summary>
        protected ComponentContainer(string widgetType) : base(widgetType)
        { 
            Settings.Add(new PersonalizableSetting("numberOfColumns", 1));
            Settings.Add(new Setting("showToolbar", true));
            Settings.Add(new Setting("containerUnlocked", false));
            Settings.Add(new Setting("closable", false));
            Settings.Add(new Setting("personalizableHeading", string.Empty, true));
        }

        /// <summary>
        /// Gets or sets the categories that should be suggested for users for this container.
        /// </summary>
        [Obsolete("Categories are now defined on the view level, and not per container.")]
        public virtual string ComponentCategory
        {
            get
            {
                return null;
            }
            set
            {
            }
        }
    }
}
Do you find this information helpful? Please log in to provide feedback.

Last updated: Feb 23, 2015

Recommended reading