2012-03-19 51 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命名空間。