Pregunta

Me gustaría añadir mi propia sección en el salpicadero umbraco para que pueda integrar mi propio pedazo de administración para la estructura de entrada / admin existente. ¿Es esto posible sin necesidad de editar y volver a compilar la fuente umbraco sí? Se recomienda? Si es así, ¿alguien tiene los recursos para empezar a hacer esto?

¿Fue útil?

Solución

Si esto es posible.

El backend se puede extender tanto en términos de los dashoard, secciones y árboles de contenido.

Hay un archivo de configuración que puede utilizar para definir nuevas secciones del tablero de instrumentos. El archivo de configuración se puede encontrar en la siguiente carpeta: /config/dashboard.config

Normalmente el archivo dashboard.config tiene algún ejemplo de XML de cómo debe estructurarse la que se ve algo como esto (he ampliado un poco para mostrar más de las características).

<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>

El nodo sección le permite configurar diferentes grupos de pestañas para diferentes secciones de administración. En el ejemplo anterior las pestañas últimos cambios, los últimos artículos y crear entrada de blog se aplicará a las secciones predeterminadas, miembros y de contenido. Defaut es la primera cosa que ve el usuario al iniciar sesión en el extremo posterior antes de seleccionar una sección.

Para controlar lo que se ve en las distintas secciones, se configura un nuevo nodo sección y definir qué área que se aplica y la ficha para mostrar. En el ejemplo anterior la segunda sección se aplica sólo a la sección de medios de comunicación.

Lo que se muestra en la ficha es un control de usuario .NET normal. Esto puede ser totalmente independiente de Umbraco o puede contener umbraco código específico, dependiendo ya sea que se está integrando una aplicación heredada o simplemente extendiendo umbraco.

Si desea crear una nueva sección (uno de los iconos que aparecen en la esquina inferior izquierda de la backend umbraco), entonces tendrá que conseguir sus manos un poco más sucio.

Para añadir una sección necesita añadir un par de entradas de la base. En primer lugar es necesario definir la aplicación en la tabla umbracoApp.

A continuación, añadir una entrada a umbracoUsers2App para el usuario admin (0).

A continuación, es necesario definir un nuevo árbol de contenido y crear los controles de usuario de apoyo.

Hay más información sobre cómo configurar esta aquí: http://www.geckonewmedia.com/blog/2009/8/3/how-to-create-a-custom-section-in-umbraco-4

El primer enfoque (definir sólo algunas nuevas pestañas) es considerablemente más fácil que la adición de una nueva sección, así que recomiendo que comience con eso. Luego, cuando se siente más cómodo se puede bucear en derecho y crear toda secciones y árboles de contenido nuevo!

Otros consejos

Wow! 7 años después sigue arriba en la Búsqueda de Google.

Por lo que permite la actualización de la respuesta:

Aquí puede encontrar la documentación para el tablero de instrumentos Ampliación: cuadros de mando

Controles

Al igual que con los otros archivos .config en el directorio / config del archivo Dashboard.config le permite personalizar una parte de la experiencia Umbraco. En este caso, el archivo Dashboard.config controla lo que se muestra en la sección del tablero de instrumentos de la interfaz de usuario cuando una parte de las cargas del sitio. El cuadro de instrumentos es la zona en el lado derecho de la interfaz de usuario donde la mayor parte de la entrada de datos y la interacción funcional tiene lugar.

Por defecto, Umbraco muestra un panel en blanco cuando una nueva carga de sección y sólo muestra un formulario cuando se toman medidas dentro de la sección (es decir, cuando se hace clic en un nodo de la sección de contenido, el tablero de instrumentos muestra la forma de actualizar ese nodo de datos). Pero lo que si se quería presentar a sus usuarios de interfaz de usuario con algunas opciones, incluso antes de hacer clic en un nodo? Bueno, eso es lo que el Dashboard.config le permite hacer.

Layout

Al igual que los otros archivos .config Dashboard.config es un simple archivo XML con un diseño bastante sencillo como se ve a continuación.

<?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>

Sección (diferente de una sección Umbraco UI) Delimita información del tablero para aplicar a una o más secciones. El Dashboard.config puede incluir múltiples secciones.

Áreas

Define a qué secciones de la interfaz de usuario Umbraco para aplicar el subconjunto de información del tablero. área - Siempre minúsculas

El nombre * de la Sección Umbraco interfaz de usuario en la que desea el control de usuario que se mostrará (por ejemplo, contenido multimedia, desarrollador, ajustes, miembros o un nombre de sección personalizada). Usted puede agregar sus controles a más de una sección mediante la adición de varios nodos.

El área con el nombre de 'default' es el primer tablero se muestra cuando un usuario de inicio de sesión, no importa qué secciones el usuario tiene acceso a!

Un poco gotcha, asegúrese de incluir el nombre de su aplicación en minúsculas!

Tab

Define una ficha de página que desea que su control de usuario que se añade a. El atributo 'leyenda' define el texto que aparece en la pestaña. Puede haber varias pestañas para cada control del tablero de instrumentos "página"

Define la ruta al control de usuario que desea que aparezca en una ficha.

El elemento que permite establecer permisos en secciones, fichas y controles y se puede conceder o denegar el acceso a ciertos usertypes.

Funciona mediante la adición de un nodo de <access/> bajo o bien un <section />, <tab/> o nodo <control />. Como hijos de puede agregar

<grant /> que otorga permisos para esos tipos de usuarios (y negar automáticamente el acceso a aquellos que no están allí!)

<grantBySection /> que otorga permisos a los usuarios que recibieron el acceso a secciones específicas. Esto puede ser útil para más permisos granulares

<deny /> que niega permisos a esos tipos de usuarios (y automáticamente otorga a todos los demás)

No importa la configuración del usuario root (id: 0) se puede ver todo, así que no cunda el pánico si los permisos de denegación administradores y todavía es capaz de ver todo; -)

Ejemplo de permisos:

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

Personalización

Con el fin de personalizar el salpicadero de Umbraco, uno tiene que hacer un par de cosas. Crear uno o más UserControls

El tablero de instrumentos cargas uno o más UserControls y los muestra en una serie de pestañas. Así que con el fin de personalizar el control, hay que crear primero las UserControls que se van a mostrar en la página. Si estos son para su uso personal que sólo puede colocar los UserControls en un lugar en su sitio que se puede acceder por Umbraco. Se recomienda que se colocan en el directorio / usercontrol, preferiblemente en su propio Subfmás viejo. Si está creando un paquete para que otros utilicen, debe incluir los controles de usuario en el paquete de instalación con el resto de los contenidos del paquete. Actualizar el Dashboard.config

Una vez que haya creado las UserControls que desea han cargado cuando una sección cargas, a continuación, debe actualizar la Dashboard.config para contar Umbraco para cargar sus UserControls cuando un usuario entra en una nueva sección. De nuevo, si usted está haciendo esto por sí mismo todo lo que tiene que hacer es editar el Dashboard.config en su sitio para agregar los controles. Sin embargo, si va a agregar una sección para ir con un paquete, tendrá que incluir una acción de paquetes para actualizar el Dashboard.config durante la instalación. Haga clic aquí para obtener más información sobre las acciones del paquete. Muestra

A continuación se muestra un ejemplo de un Dashboard.config válida:

<?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>

Lo que esto hace es cada vez que un usuario hace clic en la sección Contenido de la Umbraco interfaz de usuario (las secciones están en la parte inferior izquierda de la pantalla) se carga una página con tres pestañas llamado "Última ediciones", "Últimos Artículos" y "Crear entrada de blog". Para cada pestaña un control de usuario se carga para proporcionar la funcionalidad que el desarrollador crea para esas pestañas. La interfaz de usuario encuentra los UserControls a través de los caminos previstos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top