如何解决“Tridion未定义” Tridion弹出页面中的错误? [英] How to resolve "Tridion is undefined" error in a Tridion popup page?

查看:91
本文介绍了如何解决“Tridion未定义” Tridion弹出页面中的错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在自定义功能区工具栏并为其添加按钮。每当我点击该按钮时,它将打开一个aspx页面,允许作者选择一些数据,这些数据会附加到现有的RTF字段内容中。

I am customizing the ribbon toolbar and adding a button to it. Whenever I click on that button, it will open a aspx page allows authors to select some data, which gets appended to the existing RTF field content.

但是当打开弹出窗口时它在浏览器(Internet Explorer)中出现以下错误。

But when popup is opened it is having the below error in the browser (Internet Explorer).

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0;     SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.3)
Timestamp: Thu, 5 Apr 2012 12:18:35 UTC


Message: 'Tridion' is undefined
Line: 1
Char: 1
Code: 0
URI: http://172.21.188.26:2694/WebUI/Core/stringresources.js

我在指定位置找不到stringresources.js文件。请建议我解决问题的方法。

I can't find stringresources.js file in the specified location. Please suggest me a way to solve the problem.

ButtonReference.js文件:
Type.registerNamespace(RTFExtensions.Commands);

ButtonReference.js file: Type.registerNamespace("RTFExtensions.Commands");

RTFExtensions.Commands.ButtonReference = function Commands$ButtonReference(name) { 
    Type.enableInterface(this, "RTFExtensions.Commands.ButtonReference"); 
    this.addInterface("Tridion.Cme.Command", [name || "ButtonReference"]); 
    this.addInterface("Tridion.Cme.FaCommand", [name || "ButtonReference"]); 
}; 

RTFExtensions.Commands.ButtonReference.prototype._isAvailable = function         ButtonReference$_isAvailable(target) { 
    if (target.editor.getDisposed()) { 
        return false; 
    } 

    return true; 
}; 

RTFExtensions.Commands.ButtonReference.prototype._isEnabled = function ButtonReference$_isEnabled(target) { 
    if (!Tridion.OO.implementsInterface(target.editor, "Tridion.FormatArea") ||             target.editor.getDisposed()) { 
        return false; 
    } 

    return true; 
};

RTFExtensions.Commands.ButtonReference.prototype._execute = function     ButtonReference$_execute(target) {
    if (target.item.isActivePopupOpened()) {
        return;
    }

    function ButtonReference$execute$onPopupCanceled(event) {
        target.item.closeActivePopup();
    };

    //var url = $config.expandEditorPath("/Popups/PopupReference.aspx", "RTFExtensions"); 
    var schemaId = $display.getView().getItem().getSchemaId();
    var componentName = $display.getView().getItem().getTitle();
    //alert($display.getView().getItem().getId());
    alert($display.getView().getItem().getTitle());
    var url = "Editors/RTFExtensions/Popups/PopupReference.aspx?schemaId=" + schemaId + "&componentName=" + componentName;
    //var url = "Editors/RTFExtensions/Popups/PopupReference.aspx";
    alert("url is " + url);
    var dialogFeatures = $cme.Popups.ITEM_SELECT.FEATURES;
    var popup = $popup.create(url, dialogFeatures, null);

    $evt.addEventHandler(popup, "submit",
        function ButtonReference$execute$onPopupSubmitted(event) {
            // Update FA 
            var value = event.data.value;
            if (value) {
                alert("In Button Reference value:" + value);
                target.editor.applyHTML(value);
            }

            // Release 
            target.item.closeActivePopup();
        }
    );

    $evt.addEventHandler(popup, "unload", ButtonReference$execute$onPopupCanceled);

    target.item.setActivePopup(popup);
    popup.open();
}; 

PopupReference.js文件:

PopupReference.js File:

Type.registerNamespace("RTFExtensions.Popups");

RTFExtensions.Popups.PopupReference = function (element) {
    Type.enableInterface(this, "RTFExtensions.Popups.PopupReference");
    this.addInterface("Tridion.Cme.View");
};

RTFExtensions.Popups.PopupReference.prototype.initialize = function () {
    alert("initialized");    
    $log.message("Initializing Button Reference popup...");
    this.callBase("Tridion.Cme.View", "initialize");

    var p = this.properties;
    var c = p.controls;

    p.HtmlValue = { value: null };
    c.SubmitButon = $("#Submit");   
    //asp dropdown
    //c.DropDown = $("#lookupvaluesDropdown");
    //alert($("#lookupvaluesDropdown").value + "in initialize");        
    $evt.addEventHandler(c.SubmitButon, "click", this.getDelegate(this._execute));

    //    $evt.addEventHandler(c.InsertButton, "OnSelectedIndexChanged", this.getDelegate(this._execute));
};

RTFExtensions.Popups.PopupReference.prototype._execute = function () {
    alert("executing");
    //alert($("#lookupvaluesDropdown").value);
    this.properties.HtmlValue.value = $("#lookupvaluesDropdown").value;
    alert(this.properties.HtmlValue.value + " in execute");
    this.fireEvent("submit", this.properties.HtmlValue);

    alert("after fire event");
    //$("#Submit").fireEvent("submit1", this.properties.HtmlValue);
    window.close();
};



$display.registerView(RTFExtensions.Popups.PopupReference); 

PopupReference.aspx页面:

PopupReference.aspx page:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PopupReference.aspx.cs"
    Inherits="ButtonReference.Popups.PopupReference" %>

<%@ Import Namespace="Tridion.Web.UI.Core" %>
<%@ Import Namespace="Tridion.Web.UI" %>
<%@ Import Namespace="System.Web" %> 
<%@ Register TagPrefix="ui"  Namespace="Tridion.Web.UI.Editors.CME.Controls" Assembly="Tridion.Web.UI.Editors.CME"  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:cc="http://www.sdltridion.com/web/ui/core/controls">
<head id="Head1" runat="server">
    <title>Reference Button Popup</title>
    <cc:tridionmanager runat="server" editor="PowerTools2011">
        <dependencies runat="server">
            <dependency runat="server">Powertools2011.Example</dependency>
            <dependency runat="server">Tridion.Web.UI.Editors.CME</dependency>
            <dependency runat="server">Tridion.Web.UI.Editors.CME.commands</dependency>
        </dependencies>
    </cc:tridionmanager>

</head>
<body>
    <form id="form1" runat="server">
    <div>        
        <h1>
            Reference Button Popup
        </h1>
        <table>        
        <tr><td><asp:DropDownList ID="lookupvaluesDropdown" runat="server"></asp:DropDownList></td></tr>
        <tr><td><asp:Button ID="Submit" runat="server" Text="Submit" /></td></tr>

        </table>
    </div>
    </form>
</body>
</html>


推荐答案

这意味着未加载来自Tridion的JavaScript。您是否包含

This means that the JavaScript from Tridion is not loaded. Did you include the

<cc:tridionmanager runat="server" editor="PowerTools"> 

弹出页面上的UserControl?

UserControl on your popup page?

这篇关于如何解决“Tridion未定义” Tridion弹出页面中的错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆