发布后在 Sitecore 内容编辑器中解锁项目

问题描述

我的目标是在发布时解锁媒体项目。

添加了以下发布项目处理器:

<publishItem>
  <processor type="MyCompany.Website.Modules.Foundation.EditorEnhancements.Processors.UnlockMediaItemOnPublish,MyCompany.Website" resolve="true"
    patch:after="processor[@type='Sitecore.Publishing.Pipelines.PublishItem.PerformAction,Sitecore.Kernel']"/>
</publishItem>

在 UnlockMediaItemOnPublish.cs 中,我解锁源项目和目标项目(如果当前用户锁定了它):

public override void Process(PublishItemContext context)
{
    if (context.Action != PublishAction.PublishVersion)
        return;

    var targetItem = context.PublishHelper.GetTargetItem(context.ItemId);
    var sourceItem = context.PublishHelper.GetSourceItem(context.ItemId);

    if (sourceItem.Paths.IsMediaItem 
        && sourceItem.Locking.IsLocked() 
        && sourceItem.Locking.Getowner() == Sitecore.Context.GetUserName())
    {
        using (new Securitydisabler())
        {
            sourceItem.Locking.Unlock();
            if (targetItem.Locking.IsLocked())
            {
                targetItem.Locking.Unlock();
            }
        }
    }
}

该项目已解锁,但内容编辑器中的图标并未消失。 有没有办法触发这个图标的更新?

Unlock icon screenshot

(Sitecore 9.0 版)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)