sitecore - 通过代码隐藏 Sitecore 中的快速信息

标签 sitecore sitecore7

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

最佳答案

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

在下面添加此代码:

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 - 通过代码隐藏 Sitecore 中的快速信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30348656/

相关文章:

sitecore - 引用错误 : scForm is not defined in Sitecore 8

c# - 在 Sitecore 中识别页面请求的简单方法

sitecore - 禁用项目被锁定

caching - 设置缓存时,sitecore 动态内容不会更新

sitecore - 如何使字段部分首先出现?

c# - Sitecore Fast Query - 如何搜索包含特殊字符(例如撇号)的文本?

asp.net-mvc - Sitecore 多站点 MVC 解决方案

sitecore - 如何从 Sitecore 地理位置信息中获取用户所在的国家/地区?

wcf - 如何从独立的 WCF 服务访问 Sitecore 项目

sitecore - 7.1 图片字段打不开 "getting ystem.Web.WebPages.WebPage error"