Take the community feedback survey now.
Take the community feedback survey now.
 
                Yes, you can implement the interface EPiServer.PlugIn.ICustomPlugInLoader and then do like this
// Hide/show tab
        public PlugInDescriptor[] List()
        {
            PlugInDescriptor[] descriptors = null;
            // Check if we should show the plugin
            if (CurrentPage.PageTypeID == Utils.Settings.PageTypePressRelease || CurrentPage.PageTypeID == Utils.Settings.PageTypeFinancialReport)
            {
                descriptors = new PlugInDescriptor[1];
                descriptors[0] = PlugInDescriptor.Load(this.GetType());
            }
            // else return null
            return descriptors;
        }Magic, huh? :)
Hi!
As Erik mentioned, implement the ICustomPlugInLoader interface for your tab-plugin to be able to decide if you want to create a plug-in or not for the current page. See the following example from the forms posting plug-in:
    [GuiPlugIn(DisplayName = "XFormdata",
                Description = "Show xformdata",
                Area = PlugInArea.EditPanel,
                UrlFromUi = "edit/XFormPostings.ascx",
                LanguagePath = "/edit/formpostings",
                RequiredAccess = AccessLevel.Edit)]
    public partial class XFormPostings : UserControlBase, ICustomPlugInLoader
...
...
        public PlugInDescriptor[] List()
        {
            if (!PageContainsFormProperties())
            {
                return new PlugInDescriptor[] { };
            }
            else
            {
                return new PlugInDescriptor[] { PlugInDescriptor.Load(typeof(XFormPostings)) };
            }
        }
Linus Ekström
 
    
    
    
Hi,
Is there a way for me to control the visibility of a custom tab based on the page type in Edit Mode. For example, I have a custom tab names External sources which is associated with a page type called referecences. If the page type is not this one, I would like to hide it.
Thanks