Я столкнулся со странным поведением в Glass Mapper в недавнем проекте, и мне интересно, есть ли у кого-нибудь какие-то идеи. Мне поручено обновить Sitecore с версии 8.1 (рев. 160519) до версии 8.2 с обновлением 7 (последняя версия 8.x). Когда обновление было завершено, я столкнулся с общей ошибкой поля ссылки, упомянутой в этой статье . Поэтому я установил исправление и запустил сайт.
При тестировании у меня возникла особая проблема со Glass Mapper. Нормальные ссылки по всему сайту работают нормально, за исключением тех, которые используют Glass RenderLink или BeginRenderLink. Там, для страниц, расположенных в каталоге \ sitecore \ Content \ Client \ home, он выделяется из начального \ home (поэтому ссылка на \ sitecore \ Content \ Client \ home \ Students будет отображаться как \ Students вместо \ home \ Students) ,
Тем не менее, Sitecore LinkManager работает просто отлично, и код стекла, по-видимому, использует LinkManager.
Я сделал это для проверки:
@{
var id = Guid.Parse("{74466305-2BB4-44D2-9860-57E35DC970E7}"); // the ID of a link that wasn’t rendering correctly.
var item = SitecoreContext.GetItem<Sitecore.Data.Items.Item>(id);
var sitecoreLink = Sitecore.Links.LinkManager.GetItemUrl(item); //using Sitecore’s link gets me the correct /home/student/application
var glassLink = RenderLink(m => m.CompleteApplication); //this comes back as /student/application
}
Первоначально я думал, что Glass путает \ sitecore \ Content \ Client \ home с \ sitecore \ Content \ Home, но переименование узла и перестройка базы данных ссылок ничего не исправили.
Я пробовал несколько разных версий 4.x Glass Mapper без разницы. Я начал отлаживать код Glass Mapper, но это происходит медленно.
У кого-нибудь есть мысли?