SDL Tridion GUI расширение добавить страницу колоды из файла конфигурации расширения - PullRequest
4 голосов
/ 29 марта 2012

Я понял, как внедрить DeckPage в графический интерфейс с помощью JavaScript. Мне было интересно, есть ли более аккуратный способ сделать это с помощью конфигурации расширения. Например, вот как можно добавить вкладку к просмотру страницы в CME:

<ext:tabpages>
          <ext:add>
          <ext:extension name="Name of Tab" assignid="TabName" insertbefore="">
            <ext:control>~/tab.ascx</ext:control>
            <ext:pagetype/>
            <ext:apply>
              <ext:view name="PageView">
                <ext:control id="MasterTabControl"/>
              </ext:view>
            </ext:apply>
          </ext:extension>
          </ext:add>
</ext:tabpages>

И я вижу, что в конфигурации можно создать элемент <ext:PageDeck>, но пока мне не удалось отобразить файл tab.ascx внутри одного.

Я пытаюсь отобразить ascx в представлении страницы, на вкладке «Презентации компонентов» (выберите презентацию компонента), и отображаются две PageDeck «Презентация компонентов» и «Целевые группы»

Вот как выглядит моя попытка конфигурации XML:

<ext:deckpages>
  <ext:add>
    <ext:extension name="Target Groups Editor" assignid="TargetGroupEditor" insertbefore="">
      <ext:control>~/tab.ascx</ext:control>
      <ext:pagetype></ext:pagetype>
      <ext:apply>
        <ext:view name="PageView">
          <ext:container name="ComponentPresentationsTab">
            <ext:container name="ComponentPresentationPropertiesTabControl">
              <ext:control id="targetGroups"/>
            </ext:container>
          </ext:container>
        </ext:view>
      </ext:apply>
    </ext:extension>            
  </ext:add>
</ext:deckpages>

Я открыл файлы кода CME (Page.aspx, ComponentPresentations.ascx), чтобы получить большинство этих идентификаторов и подробно их проанализировать, но я делаю много предположений относительно того, что такое <ext:container> и что может быть связано с <ext:control>.

Если кто-то сделал что-то подобное и знает, возможно ли, я был бы очень рад узнать ответ ... Я бы предпочел использовать XML, а не вводить с помощью javascript.

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 29 марта 2012

Я считаю, что это все еще будет вкладка. Попробуйте:

  <ext:tabpages>
    <ext:add>
      <ext:extension insertbefore="targetGroups" assignid="TargetGroupEditor" name="Target Groups Editor">
      <ext:control>~/tab.ascx</ext:control>
      <ext:pagetype>TargetGroupEditor</ext:pagetype>
      <ext:apply>
        <ext:view name="PageView">
          <ext:control id="ComponentPresentationPropertiesTabControl" />
        </ext:view>
      </ext:apply>
    </ext:extension>
    </ext:add>
  </ext:tabpages>
0 голосов
/ 29 марта 2012

Я уже добавил несколько страниц колоды.

Ни один из этих элементов не использовал ext: container, но в остальном XML выглядел как ваш.

Вы пробовали это без них и только элемента управления "targetGroups"?

...