我正在为Sitecore制作第三方Javascript工具,需要根据当前编辑页面的模板修改它的行为。如何在Javascript中获取Sitecore 6模板名称或ID?
到目前为止,我一直在使用这个脚本来获取模板的名称:
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字段也许? – techphoria414
简短版本:通过web.config中的部分。长版本:http://stackoverflow.com/questions/9061967/how-to-insert-custom-javascripts-in-sitecore-backend –
Woodgnome