Редактор страниц 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>
Затем:
- Войти в Sitecore Desktop
- Переключить базу данных на ядро
- дублировать
/sitecore/content/Applications/WebEdit/Common Field Buttons/Edit related item
- Переименовать новый элемент в
Publish related item
- Задавать
Click
свойство этого элементаmy:publish
- Изменить другие свойства элемента (
Header
,Icon
,Tooltip
) - Переключите базу данных обратно на мастер
- Откройте редактор страниц и протестируйте новую команду (она должна открыть стандартное всплывающее окно публикации с идентификатором связанного элемента в качестве параметра в URL).
Мы можем достичь этого без каких-либо изменений кода.
<command name="webedit:publish" type="Sitecore.Shell.Framework.Commands.PublishItem,Sitecore.Kernel" />
Добавьте указанную выше запись в файл Commands.config. Этот файл доступен во включаемой папке.
- Войти в Sitecore Desktop
- Переключить базу данных на ядро
- Дублировать /sitecore/content/Applications/WebEdit/ Кнопки общего поля / Редактировать связанный элемент
- Переименовать новый элемент в Опубликовать связанный элемент
- Установите свойство Click этого элемента в chrome:common:edititem({команда:"webedit:publish"})
- Переключите базу данных обратно на мастер
- Откройте редактор страниц и протестируйте новую команду (она должна открыть стандартное всплывающее окно публикации с идентификатором связанного элемента в качестве параметра в URL).
Спасибо
Fenil