在Sitecore的内容编辑器中自定义“快速信息”部分

时间:2015-01-31 09:41:52

标签: sitecore

是否可以在内容编辑器中自定义快速信息部分以显示有关该项目的其他信息? 感谢

2 个答案:

答案 0 :(得分:2)

我认为这很棘手。如果您查看Sitecore.Shell.Applications.ContentManager.Editor(在Sitecore.Client.dll中),您会看到有RenderQuickInfo方法。 HTML手动拼接在一起,并作为文字控件添加到EditorFormatter对象中。所涉及的所有类都紧密集成到应用程序中 - 没有易于识别的定制点。

有一些管道与内容编辑器的呈现相关联,

  • renderContentEditor
  • getContentEditorFields
  • getContentEditorSkin

但我不认为这些会提供一个简单的方法。

一般来说,我一直认为如果Sitecore没有轻松定制应用程序的一部分,那么他们可能是故意这样做的。

答案 1 :(得分:1)

一种选择可能是更多的js方法。整个内容编辑器都在dom中,尽管是相当嵌套的。它略有不同,但突出了概念(http://blog.boro2g.co.uk/ever-edited-sitecore-web-db-mistake/)。

我建议如果您在愤怒中使用下面的示例,那么您可以更好地使用xpath - 这只是从chrome dev工具中窃取的。

作为示例:将以下脚本粘贴到 content manager.aspx 文件中,您可以访问以下某些元素:

<script type="text/javascript">     
    window.onload=function(){ 
        var text = getElementByXpath('//*[@id="EditorPanel"]/table/tbody/tr/td/table/tbody/tr[2]/td[1]');
        if (text) {
            text.innerText = "hi";
        } else {                
        }
    };        
    function getElementByXpath(path) {
        return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
    }
</script>    

然后允许您更新文本(参见屏幕截图): quickinfo says hi