Вопрос

Я хотел бы добавить свой собственный раздел в панель управления umbraco, чтобы я мог интегрировать свою собственную административную часть в существующую структуру входа/администратора.Возможно ли это без редактирования и перекомпиляции самого исходника umbraco?Рекомендуется ли это?Если да, есть ли у кого-нибудь ресурсы, чтобы начать это делать?

Это было полезно?

Решение

Да, это возможно.

Бэкэнд может быть расширен как с точки зрения панели управления, разделов, так и деревьев контента.

Существует файл конфигурации, который вы можете использовать для определения новых разделов информационной панели.Конфигурационный файл можно найти в следующей папке: /config/dashboard.config

Обычно файл Dashboard.config содержит пример XML того, как его нужно структурировать, который выглядит примерно так (я немного расширил его, чтобы показать больше возможностей).

<dashBoard>
    <section>
        <areas>
            <area>default</area>
            <area>content</area>
            <area>member</area>
        </areas>

        <tab caption="Last Edits">
            <control>/usercontrols/dashboard/latestEdits.ascx</control>
        </tab>
        <tab caption="Latest Items">
            <control>/usercontrols/dashboard/newestItems.ascx</control>
        </tab>
        <tab caption="Create blog post">
            <control>/usercontrols/umbracoBlog/dashboardBlogPostCreate.ascx</control>
        </tab>
    </section>
    <section>
        <areas>
            <area>media</area>
        </areas>

        <tab caption="Last Edits">
            <control>/usercontrols/dashboard/latestEdits.ascx</control>
        </tab>
    </section>
</dashBoard>

Узел раздела позволяет вам настраивать разные группы вкладок для разных разделов администрирования.В приведенном выше примере вкладки «Последние изменения», «Последние элементы» и «Создать сообщение в блоге» будут применены к разделам по умолчанию, участникам и контенту.Defaut — это первое, что видит пользователь при входе в админку перед выбором раздела.

Чтобы контролировать то, что отображается в различных разделах, вы настраиваете новый узел раздела и определяете, к какой области он применяется, а также вкладку, которую следует отображать.В приведенном выше примере второй раздел применяется только к разделу мультимедиа.

На вкладке отображается обычный пользовательский элемент управления .NET.Он может быть полностью отделен от Umbraco или может содержать специальный код umbraco, в зависимости от того, интегрируете ли вы устаревшее приложение или просто расширяете umbraco.

Если вы хотите создать новый раздел (один из значков, которые появляются в левом нижнем углу серверной части umbraco), вам придется немного запачкать руки.

Для добавления раздела необходимо добавить пару записей в базу данных.Сначала вам нужно определить приложение в таблице umbracoApp.

Затем добавьте запись в umbracoUsers2App для пользователя-администратора (0).

Затем вам нужно будет определить новое дерево контента и создать вспомогательные пользовательские элементы управления.

Дополнительную информацию о настройке можно найти здесь: http://www.geckonewmedia.com/blog/2009/8/3/how-to-create-a-custom-section-in-umbraco-4

Первый подход (просто определение нескольких новых вкладок) значительно проще, чем добавление нового раздела, поэтому я бы рекомендовал вам начать с него.Затем, когда вы почувствуете себя более комфортно, вы можете сразу погрузиться в работу и создавать совершенно новые разделы и деревья контента!

Другие советы

Ух ты!Пост семилетней давности все еще находится на вершине поиска Google.

Итак, давайте обновим ответ:

Здесь вы можете найти документацию по расширению панели мониторинга:Панели мониторинга

Панель приборов

Как и другие файлы .config в каталоге /config, файл Dashboard.config позволяет вам настроить часть возможностей Umbraco.В этом случае файл Dashboard.config управляет тем, что отображается в разделе «Панель мониторинга» пользовательского интерфейса при загрузке раздела сайта.Панель мониторинга — это область в правой части пользовательского интерфейса, где происходит большая часть ввода данных и функционального взаимодействия.

По умолчанию Umbraco показывает пустую информационную панель при загрузке нового раздела и показывает форму только тогда, когда вы выполняете действие в этом разделе (т. е.когда вы нажимаете на узел в разделе «Содержимое», на информационной панели отображается форма для обновления данных этого узла).Но что, если вы хотите предоставить пользователям пользовательского интерфейса некоторые параметры еще до того, как они нажмут на узел?Ну, это то, что позволяет вам сделать Dashboard.config.

Макет

Как и другие файлы .config, Dashboard.config представляет собой простой XML-файл с довольно простой структурой, как показано ниже.

<?xml version="1.0" encoding="utf-8" ?> 
<dashBoard> <!-- root of the dashboard xml tree -->
   <section>  <!-- defines a dashboard layout for a group of sections -->
        <areas> <!-- Declares which sections (i.e. content,media,users,[your own]-->
            <area>[area name]</area> <!-- A section to apply this to -->
            ...
        </areas>

        <tab caption="[caption]"> <!-- Creates a tab in the Dashboard with the assigned Caption -->
            <control>[path]</control> <!-- What control to load in that tab -->
        </tab>
        ...
   </section>
   ...
</dashBoard>

Раздел (отличается от раздела UI Umbraco) Разграничение сведений панели мониторинга для применения к одному или нескольким разделам.Dashboard.config может включать несколько разделов.

Области

Определяет, к каким разделам пользовательского интерфейса Umbraco применять подмножество информации информационной панели.область - Всегда строчными буквами!

Имя* раздела пользовательского интерфейса Umbraco, в котором вы хотите, чтобы отображался пользовательский элемент управления (например,контент, медиа, разработчик, настройки, участники или название пользовательского раздела).Вы можете добавить элементы управления в несколько разделов, добавив несколько узлов.

Область с именем «по умолчанию» — это первая панель мониторинга, отображаемая при входе пользователя в систему, независимо от того, к каким разделам у него есть доступ!

Небольшая ошибка: убедитесь, что вы указали название своего приложения строчными буквами!

Вкладка

Определяет вкладку страницы, на которую вы хотите добавить пользовательский элемент управления.Атрибут caption определяет текст, отображаемый на вкладке.Для каждого элемента управления «страницей» информационной панели может быть несколько вкладок.

Определяет путь к пользовательскому элементу управления, который должен отображаться на вкладке.

Этот элемент позволяет устанавливать разрешения для разделов, вкладок и элементов управления, а также разрешать или запрещать доступ определенным типам пользователей.

Это работает путем добавления <access/> узел под любым <section />, <tab/> или <control /> узел.Будучи детьми, вы можете добавить

<grant /> который предоставляет разрешения этим типам пользователей (И автоматически запрещает доступ тем, кого там нет!)

<grantBySection /> который предоставляет разрешения тем пользователям, которые получили доступ к определенным разделам.Это может быть полезно для более детальных разрешений.

<deny /> который отказывает в разрешениях этим типам пользователей (И автоматически предоставляет всем остальным)

Независимо от настроек, пользователь root (id:0) может видеть все, поэтому не паникуйте, если вы установили запрещенные разрешения для администраторов и по-прежнему можете видеть все ;-)

Пример разрешений:

<tab caption="Last Edits">
    <access>
        <grant>writer</grant>
        <grant>editor</grant>
        <grantBySection>content</grantBySection>
    </access>
    <control>/usercontrols/dashboard/latestEdits.ascx</control>
</tab>

Настройка

Чтобы настроить панель управления в Umbraco, нужно сделать пару вещей.Создайте один или несколько пользовательских элементов управления.

Панель мониторинга загружает один или несколько пользовательских элементов управления и отображает их на нескольких вкладках.Поэтому, чтобы настроить элемент управления, необходимо сначала создать элементы управления UserControl, которые будут отображаться на странице.Если они предназначены для вашего личного использования, вы можете просто разместить элементы управления UserControls в таком месте на своем сайте, к которому сможет получить доступ Umbraco.Рекомендуется размещать их в каталоге /usercontrol, желательно в вашей собственной подпапке.Если вы создаете пакет для использования другими, вам следует включить пользовательские элементы управления в пакет для установки вместе с остальным содержимым пакета.Обновите Dashboard.config

После того как вы создали элементы управления UserControl, которые хотите загружать при загрузке раздела, вам необходимо обновить Dashboard.config, чтобы указать Umbraco загружать ваши элементы управления UserControl, когда пользователь входит в новый раздел.Опять же, если вы делаете это для себя, все, что вам нужно сделать, это отредактировать Dashboard.config на своем сайте, чтобы добавить элементы управления.Однако если вы добавляете раздел к пакету, вам потребуется включить действие пакета для обновления Dashboard.config во время установки.Нажмите здесь, чтобы получить дополнительную информацию о действиях с пакетами.Образец

Ниже приведен пример допустимого файла Dashboard.config:

<?xml version="1.0" encoding="utf-8" ?> 
<dashBoard>
    <section>
        <areas>
            <area>content</area>
        </areas>        
        <tab caption="Last Edits">
            <access>
                <deny>editor</deny>
            </access>
            <control>/usercontrols/dashboard/latestEdits.ascx</control>
        </tab>
        <tab caption="Latest Items">
            <control>/usercontrols/dashboard/newestItems.ascx</control>
        </tab>
        <tab caption="Create blog post">
            <control>/usercontrols/umbracoBlog/dashboardBlogPostCreate.ascx</control>
        </tab>
    </section>
</dashBoard>

Это происходит так: каждый раз, когда пользователь нажимает на раздел «Содержимое» пользовательского интерфейса Umbraco (разделы находятся в левом нижнем углу экрана), он загружает страницу с тремя вкладками: «Последние изменения», «Последние элементы» и «Создать блог». почта".Для каждой вкладки загружается UserControl, обеспечивающий функциональные возможности, созданные разработчиком для этих вкладок.Пользовательский интерфейс находит элементы управления UserControl по предоставленным путям.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top