У меня есть требование, например, когда пользователь нажимает кнопку публикации элемента, я хотел выполнить некоторый настраиваемый код, в котором я буду запускать некоторые проверки для текущего элемента, и если все в порядке, то элемент будет опубликован, иначе будет отображаться предупреждение и конвейер публикации должен быть отключен.
Поэтому для этого я создал собственный процессор в конвейере publishItem, и все работает хорошо, но когда я показываю предупреждение, оно дает мне исключение с нулевой ссылкой.
Sitecore.Context.ClientPage.ClientResponse.Alert(message);
Я не уверен, что я делаю здесь неправильно, и есть ли другой способ добиться этого ... Пожалуйста, предложите Ниже приведен пример кода, который я написал. Класс ниже унаследован от PublishItemProcessor.
public override void Process(PublishItemContext context)
{
Assert.ArgumentNotNull(context, "context");
// code goes here
if (condition)
{
string message = "Required fields are missing";
context.AbortPipeline();
Sitecore.Context.ClientPage.ClientResponse.Alert(message);
}
}
<publishItem>
<processor type="Namespace.CheckRequiredChildItems, Namespace" />
</publishItem>