2012-03-19 46 views
1

我正在开发一个Web应用程序,它将作为Tridion中的自定义页面添加。在自定义页面上打开ItemSelectControl(不是gui扩展名)

在自定义页面上,我想选择模式X的一个组件。我想为此使用ItemSelectControl,但我不知道如何从我的自定义页面打开该控件,因为我无法使用访问任何Tridions JavaScript命名空间(例如$ model或$ const)。我可以简单地打开一个带ItemSelectControl的URL的新弹出窗口,并在json中创建我自己的过滤器,但我宁愿使用Tridions javascript命名空间中定义的常量。

是否有一种简单的方法来添加引用或东西到我的Web应用程序,以访问Tridions JavaScript命名空间?如果没有,你有什么建议我应该如何解决这个问题?

自定义页面上的更多信息:

  • CMS服务器的主机名:testcms

  • 一个名为Test.aspx的一个aspx页面的空ASP.NET项目发布到路径C:\ TestPage \

  • 在IIS中,在支持SDL Tridion网站与路径到C称为TestPage一个Web应用程序:\ TestPage \

  • 试图用URL来访问该页面在broswer:http://testcms/TestPage/Test.aspx

回答

5

您可以通过下面的标记/代码为你弹出做到这一点。 (弹出页面必须是一个.aspx页面)

<%@ Page Language="C#" AutoEventWireup="true" Inherits="Tridion.Web.UI.Controls.TridionPage" ClassName="DashboardView" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html class="tridion popup"> 
<head> 
    <!-- Tridion manager --> 
    <cc:TridionManager runat="server" Editor="CME"> 
     <dependencies runat="server">  
      <dependency runat="server">Tridion.Web.UI.Editors.CME</dependency> 
      <dependency runat="server">Tridion.Web.UI.Editors.CME.commands</dependency> 
      <dependency runat="server">Tridion.Web.UI.Editors.CME.globalCommands</dependency> 
      <dependency runat="server">Tridion.Web.UI.Controls.Popup</dependency> 
     </dependencies> 
    </cc:TridionManager> 
</head> 
<body> 
    My popup 
</body> 

这意味着,有您的应用程序和外表套上之间的依赖关系,因为你的弹出页面必须继承Tridion.Web.UI.Control.TridionPage。如果你想要的话,取决于你。我不知道另一种添加Tridion JavaScript文件的方式。 (此方法也用于PowerTools项目,请在此处查看:http://code.google.com/p/tridion-2011-power-tools/

+0

感谢您的回复!恐怕我无法让您的示例标记正常工作。我已经添加了对Tridion.Web.UI.Core的引用,但是我得到一个错误,指出标签cc无法找到。 您是否能够在不从Tridion启动页面的情况下让您的示例工作?我正在尝试使用http:// [CMS_HOSTNAME]/[IIS_WEB_APPLICATION_NAME]/[PAGE_NAME]。as_NAME,其中PAGE_NAME是带有标记示例的aspx文件的名称。 – 2012-03-20 08:54:59

+1

添加一个新的编辑器并将此编辑器用作自定义页面:(添加新编辑器的标准步骤) 1.在IIS的“编辑器”目录中添加一个新的虚拟目录。 2.在System.config中添加新的编辑器 3.将您的自定义页面(和popup.aspx)放在这个新的虚拟目录中。 4.在Tridion中添加一个新的自定义页面。将其指向您的新编辑器。 将一个'空'Editor.config添加到新编辑器的配置目录。 – 2012-03-20 10:56:14

+0

Andreas:“cc”前缀通常在WebRoot \ web.config中定义。很可能您的自定义页面存储在自己的IIS应用程序中,这就是您遇到此错误的原因。因此,您需要将前缀添加到其web.config中,或者在页面中对其进行内联定义。 – 2012-03-20 11:08:48

1

如果您想开发自己的Web应用程序以连接到SDL Tridion(因此您可以将其用作自定义页面或在例如自定义URL),您应该使用Core Service。这允许您连接到Tridion API,而无需复制SDL tridion Web.Config的(部分)。

如何使用核心服务提供了一个示例在支持SDL Tridion世界:Item Selector Custom URL eXtension

这个例子显示了使用核心服务的项目选择构建。它专门设计用于自定义URL(您在Schema Fields中的链接),但可以轻松转换为用于自己的Web应用程序或自定义页面中。

只有在创建SDL Tridion UI扩展时,才能(或应该)使用Tridions javascript命名空间。