В проекте sitecore, над которым я сейчас работаю, мы заметили, что наш Редактор страниц не ведет себя как редактор страниц версии Vanilla. Для каждого заполнителя мы должны щелкнуть дважды, чтобы заставить редактора сосредоточиться на этом заполнителе. При первом нажатии фокус всплывающего окна панели инструментов изменяется на точку в замещающем или подпункте, который мы только что нажали, но только выделяет этот элемент при втором щелчке.Редактор страницы Sitecore Ошибка Javascript
Я считаю, что это bahavior связано с ошибкой JS, которую мы получаем. Ошибка:
Uncaught TypeError: Cannot read property 'sc-renderMoreSection' of undefined
renderTemplate
Sitecore.PageModes.ChromeControls.Base.extend.renderMoreSection
Sitecore.PageModes.ChromeControls.Base.extend.updateCommands
Sitecore.PageModes.ChromeControls.Base.extend.show
Sitecore.PageModes.SelectionFrame.Sitecore.PageModes.ChromeFrame.extend.showSides
value
Sitecore.PageModes.ChromeFrame.Base.extend.show
Sitecore.PageModes.SelectionFrame.Sitecore.PageModes.ChromeFrame.extend.show
value
select
Sitecore.PageModes.Chrome.Base.extend._clickHandler
c jquery.noconflict.js:16
d.event.handle jquery.noconflict.js:16
k.handle.m
JS находится в сгенерированном скрипте, который, по-видимому, является довольно стандартным в установках Sitecore. Метод, где встречающийся эта ошибка
this.renderTemplate = function(templateName, template, data, options) {
if (!$sc.template[templateName]) {
$sc.template(templateName, template);
}
return $sc.tmpl(templateName, data, options);
};
в !$sc.template[templateName]
заявление, потому что шаблон не определен.
Неужели кто-нибудь сталкивался с чем-либо подобным раньше? Кто-нибудь может понять, что может вызвать эту проблему?
Мы бежим Sitecore 6.5 и JQuery 1.7.2
EDIT: После того, как день устранения этой проблемы, я обнаружил следующее:
страница редактор Sitecore является перезапись нашей версии JQuery, 1.7 .1, который мы запускаем в режиме без конфликтов с его собственной версией 1.5.1, которую он запускает в режиме без конфликтов. Наши скрипты не конфликтуют с псевдонимом $$$, а sitecore - не конфликтуют с $ sc. В конце всего, наш $ - jquery 1.5.1 (что меня озадачивает, так как оно должно быть возвращено к стандартному $, если я правильно понимаю конфликт).
Это не имеет значения в отношении редактора страниц. Страница, на которую я тестирую свои настройки, не использует jQuery, зависящую от 1.7. Проблема связана с плагином jQuery «Шаблон», который включает сценарий редактора страницы Sitecore. По причинам, которые я не могу определить, этот модуль не работает в редакторе страниц и является источником ошибки. Наши другие сайты Sitecore по-прежнему работают, используя тот, который включает этот сайт. Удаление плагина шаблона заставляет другие сайты вести себя так, как это делает наш сайт.
Кроме того, Sitecore включает в себя прототип в этом сценарии, а также, но не отображаются в $
Получаете ошибку на всех ваших страницах или только некоторые из них? Какую версию Sitecore вы используете? Вы используете jQuery или другую библиотеку в своем собственном проекте? Какая версия? – jammykam
Ошибка на каждой странице, когда редактор страниц активен. Мы используем Sitecore 6.5 и jQuery 1.7.2. –
Некоторые шаги отладки, чтобы исключить конфликт, например Martijn, удалить свой собственный JavaScript в вашем коде и посмотреть, есть ли у вас ошибка (так что это просто Sitecore JS). Вы должны использовать закрытие, анонимные функции и пространства имен, чтобы избежать конфликтов: http://blog.navigationarts.com/avoiding-jquerys-noconflict-mode-with-prototype-and-sitecore/ – jammykam