私が現在取り組んでいるサイトコア プロジェクトでは、ページ エディターが Vanilla インストールのページ エディターのように動作していないことに気付きました。すべてのプレースホルダーを 2 回クリックして、エディターがそのプレースホルダーにフォーカスするようにする必要があります。最初のクリックで、ツールバーのポップアップ フォーカスが変わり、クリックしたばかりのプレースホルダーまたはサブレイアウトを指すようになりますが、2 回目のクリックではその項目のみが強調表示されます。
この動作は、発生している 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 を実行しています。
編集: この問題のトラブルシューティングを 1 日行った後、次のことがわかりました。
Sitecore のページ エディターは、非競合モードで実行するバージョンの jQuery 1.7.1 を、非競合モードで実行する独自のバージョン 1.5.1 で上書きしています。私たちのスクリプトは $$$ エイリアスと競合せず、サイトコアは $sc と競合しません。最後に、私たちの $ は jquery 1.5.1 です (no-conflict を正しく理解していれば、標準の $ に戻す必要があるため、これは私を困惑させます)。
ページ エディターに関する限り、これは問題ではありません。私が微調整をテストしているページは、1.7 に依存する jQuery を使用していません。この問題は、サイトコア ページ エディター スクリプトに含まれる「テンプレート」jquery プラグインに関連しています。特定できない理由により、このモジュールはページ エディターで機能しておらず、エラーの原因となっています。当社の他の Sitecore サイトは、このサイトに含まれているサイトを使用して引き続き機能します。テンプレート プラグインを削除すると、他のサイトが現在のサイトと同じように動作するようになります。
また、Sitecore はこのスクリプトにもプロトタイプを含めていますが、$ にはマッピングされていません。