Откройте ItemSelectControl на пользовательской странице (не в графическом расширении) - PullRequest
1 голос
/ 19 марта 2012

Я занимаюсь разработкой веб-приложения, которое будет добавлено в качестве пользовательской страницы в Tridion.

На пользовательской странице я хотел бы выбрать компонент схемы X. Я хочу использовать ItemSelectControl для этой цели, но я не знаю, как открыть этот элемент управления с моей пользовательской страницы, так как яне может получить доступ ни к одному из пространств имен JavaScript Tridions (например, $ model или $ const).Я мог бы просто открыть новое всплывающее окно с URL-адресом ItemSelectControl и создать свой собственный фильтр в json, но я бы лучше использовал константы, определенные в пространстве имен javascript Tridions.

Есть ли простой способ добавить ссылки или что-то в этом родев мое веб-приложение для доступа к пространствам имен JavaScript Tridions?Если нет, есть ли у вас какие-либо предложения, как мне решить эту проблему?

Дополнительная информация на пользовательской странице:

  • Имя хоста сервера CMS: testcms

  • Пустой проект ASP.NET с одной страницей aspx под названием Test.aspx, опубликованный по пути C: \ TestPage \

  • В IIS веб-приложение под названием TestPage вСайт SDL Tridion с путем к C: \ TestPage \

  • Попытка доступа к странице в браузере с URL: http://testcms/TestPage/Test.aspx

Ответы [ 2 ]

5 голосов
/ 19 марта 2012

Вы можете сделать это, используя следующую разметку / код для вашего всплывающего окна. (Всплывающая страница должна быть страницей .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, потому что ваша всплывающая страница должна наследовать Tridion.Web.UI.Control.TridionPage. Это зависит от вас, если вы хотите этого. Я не знаю другого способа добавления файлов Tridion JavaScript. (Этот подход также используется в проекте PowerTools. Проверьте его здесь: http://code.google.com/p/tridion-2011-power-tools/)

1 голос
/ 20 марта 2012

Если вы хотите разработать собственное веб-приложение, которое подключается к SDL Tridion (например, вы можете использовать его в качестве пользовательской страницы или в пользовательском URL-адресе), вам следует использовать базовую службу.Это позволяет вам взаимодействовать с Tridion API без необходимости копировать (части) SDL tridion Web.Config.

Пример использования основной службы приведен в SDL Tridion World: ЭлементПользовательский URL селектора eXtension

В этом примере показана сборка селектора элементов с использованием базовой службы.Он специально разработан для использования в пользовательском URL-адресе (ссылка у вас есть в полях схемы), но его легко конвертировать для использования в вашем собственном веб-приложении или на пользовательской странице.

Только тогда, когда выСоздавая расширение SDL Tridion UI, вы можете (или должны) использовать пространства имен JavaScript Tridions.

...