Редактор страниц Sitecore - как расширить панель редактирования элементов редактора страниц

Нужно добавить функцию "публикации" в редактор страниц, раздел редактирования элементов. (Под разделом "Еще" было бы идеально). Как я могу это сделать?

2 ответа

Решение

Сначала вам нужно создать командный класс. Простейшая версия будет:

using System;
using Sitecore.Shell.Applications.WebEdit.Commands;
using Sitecore.Shell.Framework;
using Sitecore.Shell.Framework.Commands;

namespace my.assembly.namespace
{
    [Serializable]
    public class Publish : WebEditCommand
    {
        public override void Execute(CommandContext context)
        {
            if (context.Items.Length != 1)
                return;
            Items.Publish(context.Items[0]);
        }
    }
}

Зарегистрировать новую команду в Sitecore.config (или же Commands.config):

<configuration> 
  <sitecore>
    <commands>
      <command name="my:publish" type="my.assembly.namespace.Publish,my.assembly"/> 
    </commands>
  </sitecore>
</configuration> 

Затем:

  1. Войти в Sitecore Desktop
  2. Переключить базу данных на ядро
  3. дублировать /sitecore/content/Applications/WebEdit/Common Field Buttons/Edit related item
  4. Переименовать новый элемент в Publish related item
  5. Задавать Click свойство этого элемента my:publish
  6. Изменить другие свойства элемента (Header, Icon, Tooltip)
  7. Переключите базу данных обратно на мастер
  8. Откройте редактор страниц и протестируйте новую команду (она должна открыть стандартное всплывающее окно публикации с идентификатором связанного элемента в качестве параметра в URL).

Мы можем достичь этого без каких-либо изменений кода.

<command name="webedit:publish"  type="Sitecore.Shell.Framework.Commands.PublishItem,Sitecore.Kernel" />

Добавьте указанную выше запись в файл Commands.config. Этот файл доступен во включаемой папке.

  1. Войти в Sitecore Desktop
  2. Переключить базу данных на ядро
  3. Дублировать /sitecore/content/Applications/WebEdit/ Кнопки общего поля / Редактировать связанный элемент
  4. Переименовать новый элемент в Опубликовать связанный элемент
  5. Установите свойство Click этого элемента в chrome:common:edititem({команда:"webedit:publish"})
  6. Переключите базу данных обратно на мастер
  7. Откройте редактор страниц и протестируйте новую команду (она должна открыть стандартное всплывающее окно публикации с идентификатором связанного элемента в качестве параметра в URL).

Спасибо

Fenil

Другие вопросы по тегам