Проверка уникальности имени элемента Sitecore - PullRequest
2 голосов
/ 08 июля 2011

Для проекта sitecore мне нужно проверить уникальность имен элементов (чтобы избежать наложения URL)

Можно добавить правило проверки элемента «Дублирующее имя» в шаблон элемента (чтобы увидеть эти параметры, убедитесь, что на вкладке «Вид» на ленте редактора содержимого выбран «показать стандартные поля») *

apply the duplicate name validation rule

Тем не менее, здесь доступны опции для добавления правила проверки к

  • Панель быстрого действия
  • Кнопка проверки
  • Правила проверки рабочего процесса

Должен ли я применить его в качестве правила проверки рабочего процесса и включить рабочий процесс (для всех моих элементов контента)? Это бы сработало, но конечному пользователю кажется, что он приложит немало усилий, если ему придется что-то использовать.

Чего я хочу добиться, так это просто показать сообщение проверки, когда пользователь пытается сохранить элемент (и использует имя, которое уже занято). В основном таким же образом работают валидаторы полей в sitecore

Кажется, что ни один из этих вариантов не достигает этого эффекта.

Итак, мой вопрос: как проще всего это сделать?

Ответы [ 3 ]

2 голосов
/ 08 июля 2011

Validation Bar Validation Rules - запускается в панели справа от редактора контента.

Возможно, вы захотите переопределить событие item:saving или команду contenteditor:save.Посмотрите на item:saved.Событие OnItemSaved вызывает правила для элемента.

Если вы измените диалоговое окно в редакторе содержимого или обновите события, вам нужно убедиться, что ваша логика применяется к определенным частям дерева содержимого.- то есть sitecore / content / home и / или возможная роль безопасности.

Я согласен с количеством усилий, связанных с рабочим процессом, но в некоторых случаях может иметь смысл для этого и других требований проверки.

1 голос
/ 11 июля 2011
0 голосов
/ 06 марта 2015

У меня есть запись в блоге, в которой используется событие создания / сохранения элемента.Это было реализовано и протестировано с Sitecore 7.2.Вот используемый конфиг:

<sitecore>
  <events>
    <event name="item:creating">
      <handler type="MySite.Customizations.Customized_Sitecore.UniqueItemNameValidator, MySite" method="OnItemCreating" />
    </event>
    <event name="item:saving">
      <handler type="MySite.Customizations.Customized_Sitecore.UniqueItemNameValidator, MySite" method="OnItemSaving" />
    </event>
  </events>
</sitecore>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...