在Sitecore富文本编辑器中获取当前项目版本

时间:2014-05-28 13:57:08

标签: javascript sitecore sitecore6

我想做什么

我正在为以下方式工作的sitecore富文本编辑器编写扩展程序。

  1. 用户单击扩展名添加的富文本编辑器工具栏上的按钮。
  2. 扩展程序javascript构建一个包含项ID,语言,版本和数据库的URL。此URL用于打开丰富的编辑器对话框。
  3. 该对话框显示与当前项目相关的选项
  4. 问题

    无论如何我都无法检测到有关当前正在编辑的项目的以下重要信息。有人可以告诉我如何在javascript中获取此信息:

    • 正在编辑的项目的版本号。
    • 项目所在的数据库

    实施例

    RadEditorCommandList["MyCommand"] = function (commandName, editor, tool) {
        var dialogUrl = "/sitecore%20modules/MyPluginModule/RichEditorDialog.aspx?";
        dialogUrl+= "Id=" + scItemID ;
        dialogUrl+= "&language=" + scLanguage; 
    
        //////////////////////////////////////////////////////////
        // UNKNOWN -- where do I get this information from?
        //////////////////////////////////////////////////////////
        dialogUrl+= "&database=UNKNOWN"; 
        dialogUrl+= "&version=UNKNOWN";
    
        editor.showExternalDialog(
            dialogUrl, 
            null,
            500, // width
            200, // height
            function(sender, data) {
               updateRichTextEditorWithSelectedData(editor, data);
            },
            null, // callback args
            "Dialog Title",
            true, // modal
            Telerik.Web.UI.WindowBehaviors.Default,
            false, // showStatusBar
           true  // showTitleBar
        );
     };
    

1 个答案:

答案 0 :(得分:0)

  • 这是一个aspx页面上的JavaScript吗?如果是这样,你可以获取 版本号使用<%= Sitecore.Context.Item.Version.Number%>和 数据库使用<%= Sitecore.Context.Database.Name%>
    • 如果没有,您可以创建一个小服务方法,并使用您拥有的itemid(scItemID)发出ajax请求,并从服务中获取相同的信息作为json对象并使用相同的信息。在这种情况下,如果您无法使用当前上下文访问该项目,您应该能够使用项目guid搜索服务器端代码中的核心数据库和主数据库,并相应地返回响应

希望这有帮助。