A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More.
A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More.
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