Вопрос: Sitecore: Ограничить язык версии элемента только английским языком


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

Как я могу это достичь?


4


источник


Ответы:


У меня был похожий сценарий, и я рассмотрел этот пункт: addversion, как сказал Джим. Однако при этом довольно сложно не попасть в ситуацию уловов. В моем случае я создаю много элементов по коду. Выполнение этого без повышения событий (тихие обновления) довольно сложно, поскольку оно также отключает очистку кеша элементов, индексирование элемента и т. Д.

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


2



Каждый язык под / Sitecore / система / Языки  узел имеет Изучение языка  а также Язык записи  которое вы можете установить через Редактор безопасности  чтобы ограничить, какие роли имеют разрешения.

enter image description here


1



Простейшим решением для этого и без написания каких-либо кодировок / взломов в Sitecore было бы сделать общие поля , все они, если необходимо, для шаблона данных элемента A,

enter image description here

Таким образом, не имеет значения, добавлена ​​ли еще одна языковая версия, все языки смогут редактировать только одну версию поля. Это также будет иметь то преимущество, что при редактировании контента на другом языке редактор сможет продолжить редактирование полей без необходимости переключения на en во-первых, однако недостатком является то, что ВСЕ версии также будут такими же, что означает, что элемент не может быть перенесен через рабочий процесс, если это требование.


1