Я понял, как внедрить 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.
Заранее спасибо