【发布时间】:2012-05-08 15:02:57
【问题描述】:
我正在为 Sitecore 制作第 3 方 Javascript 工具,该工具需要根据当前编辑页面的模板修改其行为。
到目前为止,我一直在使用这个脚本来获取模板的名称:
jQuery(".scEditorSectionPanelCell a[onclick*='shell:edittemplate']")[0].innerHTML.match(/\/?([^/]+?)$/i)[1];
一点解释: 编辑页面时,有一个名为“快速信息”的段落(如果翻译不正确,我们深表歉意 - 不适用于英文版 Sitecore)。本段内是编辑当前模板的直接链接 - 这是我使用 jQuery 获取的链接:
<td>
<a href="#" onclick="javascript:scForm.postRequest('','','','shell:edittemplate');return false">
/sitecore/templates/Imported/[NAME-OF-TEMPLATE]
</a> -
<input class="scEditorHeaderQuickInfoInputID" readonly="readonly" onclick="javascript:this.select();return false"
value="{[ID-OF-TEMPLATE]}">
</td>
从中我得到带有正则表达式的模板名称。如果我愿意,我还可以从兄弟 <input> 元素中获取模板 ID。
问题是,“快速信息”段落并非对所有用户可见。
关于在“快速信息”不可见时如何获取模板名称或 ID 的任何建议?我无权访问底层 ASP.NET 代码,因此解决方案需要严格使用 Javascript。
【问题讨论】:
-
所以这是在内容编辑器的编辑表单中?你是如何注入 Javascript 的?也许是自定义字段或 IFRAME 字段?
-
短版:通过 web.config 中的
<clienscripts>部分。长版:stackoverflow.com/questions/9061967/…
标签: javascript templates sitecore sitecore6