Я создаю сайт репозитория данных, который затем буду клонировать целиком, чтобы предоставить несколько сайтов клонов, позволяя локализовать глобальный контент.
Что мне нужно сделать, так это убедиться, что ссылки all между элементами на сайте репозитория (ссылки в поля расширенного текста, ссылки на ссылки для ссылок на "связанные элементы" и т.д.) переопределяются для ссылки к соответствующим клонам вместо исходных элементов в репозитории.
Это, вероятно, будет включать, например, настраивая LinkManager и, возможно, GetItem (itemID) с некоторой дополнительной логикой, чтобы найти правильный клон.
Что мне нужно знать, какие биты API мне нужно беспокоиться? Есть ли одна модификация, которую я могу сделать, которая наследует для рендеринга ссылок в текстовом поле с расширенным текстом в .Net-компонентах, ссылки на элементы, поданные в подпункт из списка drop, визуализации через XSLT и т.д.? Мне нужен идентификатор элемента для работы в качестве псевдонима для его клона, когда в контексте сайта клонирования. Context.Database.GetItem(ID) должен вернуть клон, когда он находится в контексте сайта clone.
В основном я ищу механизм, который будет переводить "Data/Home/Products/Product A" на "clone/Home/Products/ProductA" всякий раз, когда я использую его в контексте сайта клона.
Где мне нужно реализовать эту логику, сколько мест?
Перекресток, отправленный в SDN http://sdn.sitecore.net/SDN5/Forum/ShowPost.aspx?PostID=35598
Это связано с более ранним вопросом Обработка внутренних ссылок в клонированных сайтах Sitecore 6.4, но содержит более подробную информацию и более конкретно.
EDIT: хотя идеальное решение поместит эту функциональность глубоко в Sitecore, важно, чтобы это применимо только к контенту, если смотреть на фактический веб-сайт, то есть он не должен мешать конвейерам Sitecore, например. создание, клонирование и удаление элементов.