Domanda

Mi piacerebbe aggiungere la mia sezione per il cruscotto Umbraco in modo che posso integrare il mio pezzo di amministrazione alla struttura di login / admin esistente. Questo è possibile senza modificare e ricompilare la fonte umbraco stessa? E 'consigliato? Se è così, qualcuno ha le risorse per iniziare a fare questo?

È stato utile?

Soluzione

Sì, questo è possibile.

Il backend può essere esteso sia in termini di dashoard, sezioni e alberi di contenuti.

C'è un file di configurazione è possibile utilizzare per definire nuove sezioni cruscotto. Il file di configurazione si trova nella seguente cartella: /config/dashboard.config

In genere il file dashboard.config ha qualche esempio XML di come deve essere strutturato che sembra qualcosa di simile (ho esteso un po 'per mostrare più delle caratteristiche).

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

Il nodo sezione permette di impostare diversi gruppi di schede per le diverse sezioni di amministrazione. Nell'esempio di cui sopra le schede più recenti modifiche, ultime novità e Crea post verrà applicato alle sezioni predefinite, membri e di contenuti. Il default è la prima cosa che l'utente vede quando si accede al back-end prima di selezionare una sezione.

Per controllare ciò che si vede nelle diverse sezioni, si imposta un nuovo nodo sezione e definire quale area si applica a e la scheda per mostrare. Nell'esempio sopra la seconda sezione si applica solo alla sezione media.

Ciò che viene visualizzato nella scheda è un normale controllo utente .NET. Questo può essere totalmente separata dalla Umbraco o può contenere umbraco codice specifico, a seconda del tempo che si sta integrando un'applicazione legacy o semplicemente estendendo Umbraco.

Se si desidera creare una nuova sezione (una delle icone che appare nell'angolo in basso a sinistra del backend Umbraco) allora si avrà bisogno di mettere le mani un po 'più sporco.

Per aggiungere una sezione è necessario aggiungere un paio di voci di database. In primo luogo è necessario definire l'applicazione della tabella umbracoApp.

Quindi aggiungere una voce al umbracoUsers2App per l'utente admin (0).

Avrete quindi bisogno di definire una nuova struttura di contenuti e di creare i controlli utente di supporto.

Ci sono più informazioni su come impostare questo qui: http://www.geckonewmedia.com/blog/2009/8/3/how-to-create-a-custom-section-in-umbraco-4

Il primo approccio (definire soltanto alcune nuove schede) è notevolmente più facile che l'aggiunta di una nuova sezione, quindi consiglierei di iniziare con quello. Poi, quando si è più comodo è possibile immergersi in pieno e creare tutta le sezioni e gli alberi di contenuti nuovi!

Altri suggerimenti

Wow! 7 anni dopo ancora top su google ricerca.

Quindi, consente di aggiornare la risposta:

Qui potete trovare la documentazione per Dashboard estensione: cruscotti

Dashboard

Come per gli altri file config nella directory / config file Dashboard.config consente di personalizzare una parte dell'esperienza Umbraco. In questo caso, controlla il file Dashboard.config ciò che si presenta nella sezione Dashboard dell'interfaccia utente quando una sezione dei carichi del sito. Il Dashboard è l'area sul lato destro dell'interfaccia utente, dove la maggior parte dei immissione dei dati e interazione funzionale si svolge.

Per impostazione predefinita, Umbraco mostra un cruscotto vuoto quando viene caricata una nuova sezione e mostra solo una forma quando si prende l'azione all'interno della sezione (cioè quando si fa clic su un nodo nella sezione Content, il cruscotto mostra la forma di aggiornare quel nodo di dati). Ma cosa succede se si voleva presentare i vostri utenti dell'interfaccia utente con alcune opzioni, anche prima di fare clic su un nodo? Beh, questo è ciò che il Dashboard.config permette di fare.

Layout

Come gli altri file con estensione config Dashboard.config è un semplice file XML con un layout abbastanza facile, come si vede qui sotto.

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

Sezione (diverso da una sezione Umbraco UI) Delimita informazioni cruscotto da applicare a una o più sezioni. La Dashboard.config può includere più sezioni.

Aree

Definisce a quali sezioni del Umbraco interfaccia utente per applicare il sottoinsieme di informazioni del cruscotto. zona - sempre in minuscolo

Il nome * della Sezione Umbraco utente in cui si desidera che il controllo utente da visualizzare (ad esempio contenuti, i media, gli sviluppatori, le impostazioni, membri o un nome di sezione personalizzata). È possibile aggiungere i controlli a più di una sezione con l'aggiunta di più nodi.

La zona con il nome di 'default' è il primo cruscotto mostrato quando un login utente, non importa quali sezioni l'utente ha accesso a!

Un po 'Gotcha, assicuratevi di includere il nome della tua applicazione in minuscolo!

Tab

Definisce una scheda pagina che si vuole che il proprio controllo utente da aggiungere. L'attributo 'caption' definisce il testo visualizzato sulla scheda. Ci possono essere diverse schede per ogni Dashboard di controllo "pagina"

Definisce il percorso per il controllo utente che si desidera visualizzare su una scheda.

L'elemento consente di impostare le autorizzazioni per sezioni, schede e controlli ed è possibile sia concedere o negare l'accesso certa usertypes.

Funziona aggiungendo un nodo <access/> sotto o un <section />, <tab/> o nodo <control />. Come figli di È possibile aggiungere

<grant /> che concede autorizzazioni per quei tipi di utenti (e negare automaticamente l'accesso a coloro che non ci sei!)

<grantBySection /> che concede autorizzazioni per quegli utenti che si l'accesso a sezioni specifiche. Questo può essere utile per più autorizzazioni granulari

<deny /> che nega autorizzazioni per quei tipi di utenti (e automatico garantisce tutti gli altri)

Non importa le impostazioni dell'utente root (id: 0) può vedere tutto, quindi non fatevi prendere dal panico se si imposta negare le autorizzazioni per gli amministratori ed ancora in grado di vedere tutto; -)

Esempio sui permessi:

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

Personalizzazione

Al fine di personalizzare il cruscotto in Umbraco, uno ha bisogno di fare un paio di cose. Creare uno o più controlli utente

I carichi Cruscotto uno o più controlli utente e li visualizza su una serie di schede. Quindi, al fine di personalizzare il controllo, si ha la necessità di creare prima i controlli utente che devono essere visualizzati sulla pagina. Se questi sono per uso personale si può semplicemente inserire i controlli utente in una posizione sul tuo sito che può essere letta da Umbraco. Si consiglia si inseriscono nella directory / UserControl, preferibilmente nel proprio subfpiù vecchio. Se si sta creando un pacchetto per altri di utilizzare, è necessario includere i controlli utente nel pacchetto per l'installazione con il resto del contenuto della confezione. Aggiornare il Dashboard.config

Dopo aver creato i controlli utente che si desidera avere caricato quando una sezione di carichi, è necessario quindi aggiornare il Dashboard.config dire Umbraco per caricare i controlli utente quando un utente entra in una nuova sezione. Anche in questo caso se si sta facendo questo per te tutto quello che dovete fare è modificare il Dashboard.config sul tuo sito per aggiungere i controlli. Tuttavia, se si aggiunge una sezione di andare con un pacchetto, si vuole includere un pacchetto di azione per aggiornare il Dashboard.config durante l'installazione. Clicca qui per maggiori informazioni sulle azioni della confezione. Esempio

Di seguito è un esempio di un Dashboard.config valida:

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

Quello che fa è ogni volta che un utente fa clic sulla sezione Contenuto del Umbraco UI (le sezioni sono in basso a sinistra dello schermo) si carica una pagina con tre schede chiamato "Last modifiche", "Ultimi Articoli" e "Crea post sul blog". Per ogni scheda un UserControl viene caricato per fornire le funzionalità che lo sviluppatore ha creato per quelle schede. L'interfaccia utente trova i controlli utente tramite i percorsi previsti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top