You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Presentation Details的Controls列表中隐藏Sublayout?

可行解决方案

针对你提到的需求——保留旧Sublayout供历史页面版本使用,但在编辑器的可用Sublayout列表中隐藏它,以下是几种实用方法:

方法1:启用__HideInEditor隐藏字段

这是最直接的内置方案:

  • 在Content Editor中打开目标Sublayout项,切换到Standard Fields视图
  • 展开Appearance分组,找到__HideInEditor字段
  • 勾选该字段的复选框并保存

设置后,该Sublayout会从编辑器的可用控件列表中消失,但已关联到旧页面版本的实例不受影响,系统仍能正常渲染它们。

方法2:通过权限控制隐藏

利用Sitecore的权限体系限制编辑用户的可见性:

  • 打开Security Editor,定位到待退役的Sublayout项
  • 针对普通编辑角色(如Sitecore\Author),设置Read权限为拒绝
  • 确保系统内置账户(如Sitecore\Anonymous、Sitecore\System)仍保留读取权限,避免旧页面加载失败

这种方法的优势是可以精准控制哪些角色看不到该Sublayout,适合需要区分用户权限的场景。

方法3:自定义管道处理器过滤

如果以上方法无法满足需求,可以通过自定义代码过滤可用列表:

  • 创建一个继承自GetAvailableRenderingsProcessor的处理器类,添加过滤逻辑:
using Sitecore.Pipelines.GetAvailableRenderings;
using Sitecore.Data;

public class FilterRetiredSublayout : GetAvailableRenderingsProcessor
{
    // 配置待退役Sublayout的ID
    public string RetiredSublayoutId { get; set; }

    public override void Process(GetAvailableRenderingsArgs args)
    {
        if (string.IsNullOrEmpty(RetiredSublayoutId) || args.Renderings == null)
            return;

        var targetId = new ID(RetiredSublayoutId);
        // 从可用列表中移除目标Sublayout
        args.Renderings = args.Renderings.Where(rendering => rendering.ID != targetId).ToList();
    }
}
  • 在Sitecore配置文件中注册该处理器,插入到getAvailableRenderings管道的合适位置:
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <pipelines>
      <getAvailableRenderings>
        <processor type="YourNamespace.FilterRetiredSublayout, YourAssembly" patch:after="processor[@type='Sitecore.Pipelines.GetAvailableRenderings.GetRenderingDatasource, Sitecore.Kernel']">
          <RetiredSublayoutId>{待退役Sublayout的ID}</RetiredSublayoutId>
        </processor>
      </getAvailableRenderings>
    </pipelines>
  </sitecore>
</configuration>

注意事项

  • 优先使用方法1,无需代码改动,操作简单
  • 权限控制需谨慎,避免误设置导致系统无法访问该Sublayout
  • 自定义代码需要部署到Sitecore实例,并充分测试确保不影响现有功能

内容的提问来源于stack exchange,提问作者Ron Ritchie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:35:05