通过代码隐藏Sitecore中的快速信息 [英] Hide Quick info in Sitecore through code

查看:13
本文介绍了通过代码隐藏Sitecore中的快速信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望通过代码隐藏快速信息部分,而不是取消选中应用程序选项对话框中的复选框。有人能帮忙吗?

推荐答案

以下代码完全符合您的要求。

将此代码添加到下面:

namespace Custom.Framework.SC.Extensions.Pipelines
{
    using Sitecore.Pipelines.LoggedIn;
    using SC = Sitecore;

    /// <summary>The default quick info.</summary>
    public class DefaultQuickInfo : SC.Pipelines.LoggedIn.LoggedInProcessor
    {
        /// <summary>The process.</summary>
        /// <param name="args">The args.</param>
        public override void Process(LoggedInArgs args)
        {
            const string DefaultToVisible = "false";

            SC.Diagnostics.Assert.ArgumentNotNull(args, "args");
            SC.Diagnostics.Assert.IsTrue(
              SC.Security.Accounts.User.Exists(args.Username),
              args.Username);

            var user = SC.Security.Accounts.User.FromName(
              args.Username,
              true);

            SC.Diagnostics.Assert.IsNotNull(user, "user");

            var sitecoreDomain = SC.SecurityModel.DomainManager.GetDomain(
              "sitecore");

            SC.Diagnostics.Assert.IsNotNull(sitecoreDomain, "sitecoreDomain");

            if (user.Domain != sitecoreDomain
              || user.Name.ToLower().EndsWith("\" + sitecoreDomain.AnonymousUserName))
            {
                SC.Diagnostics.Log.Warn(this + " : unexpected security domain or user : " + user.Name, this);
                return;
            }

            var key = "/" + args.Username + "/UserOptions.ContentEditor.ShowQuickInfo";

            if (string.IsNullOrEmpty(user.Profile[key]))
            {
                user.Profile[key] = DefaultToVisible;
                user.Profile.Save();
            }
        }
    }
}

然后在此配置更改中打补丁,以将处理器添加到适当的位置:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <processors>
      <loggedin>
        <processor patch:after="processor[position()=last()]" type="Custom.Framework.SC.Extensions.Pipelines.DefaultQuickInfo, Custom.Framework.SC.Extensions" />
      </loggedin>
    </processors>
  </sitecore>
</configuration>

这篇关于通过代码隐藏Sitecore中的快速信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆