2013-05-09 12 views
5

Uno dei nostri siti Umbraco sta diventando un po 'caotico e mi chiedevo se esistesse un modo per raggruppare le pagine in cartelle senza influire sull'URL. Quindi, per esempio se sotto la homepage ho alcune sezioni di primo livello, alcuni link a piè di pagina e varie altre pagine di sistema. Mi piacerebbe raggruppare le pagine footer in una cartella footer, le pagine di sistema in una cartella di sistema, ma non voglio che tutti gli URL diventino/footer/page1, sistema/contatto ecc.Raggruppamento di pagine umbraco in cartelle senza influire sull'URL

C'è un bello modo di fare questo, forse qualcosa con umbracoUrlName?

risposta

9

Ci sono due risposte, in primo luogo è possibile attivare l'opzione "nascondi cartella" in web.config - quindi è possibile avere un numero di cartelle nella radice che si desidera - senza che facciano parte dell'URL.

umbracoHideTopLevelNodeFromPath Provoca gli elementi migliori di contenuto livello a esclusi da qualsiasi percorsi URL. Per esempio, questo è pre-impostato su True, così:

[Contenuto] Home = /home.aspx o/home/

[content] Home \ Progetti = /projects.aspx o/progetti/

[contenuto] piè di pagina \ Pagina1 = /page1.aspx o/page1/

[contenuto] Home \ progetti \ Chi = /projects/about.aspx o/progetti/su/

http://our.umbraco.org/wiki/reference/webconfig

In secondo luogo ci sono quattro 'nascosti' reindirizzare i campi su ogni nodo umbraco (che è possibile aggiungere al tipo di documento) che possono cambiare il percorso url:

  • umbracoRedirect (contenuto picker) - Umbraco favore di Nella pagina raccolto
  • umbracoInternalRedirectId (raccoglitrice di contenuti) - Umbraco caricherà la pagina scelto senza cambiare l'url
  • umbracoUrlName (textstring) - Umbraco avrà la precedenza del URL della pagina predefinita
  • umbracoUrlAlias ​​(textstring) - si può avere diversi URL per la stessa pagina (non sicuro quando è utile)

Quindi immagino che nel tuo scenario umbracoUrlName selezionerà una pagina nella tua cartella combinata ma con un URL che scegli.

in modo da avere

homepage 
|- footer 
    |-page1 (umbracoUrl = "/footer-page1/") 

e/footer-page1/renderebbe la pagina memorizzata nella cartella piè di pagina.

Si potrebbe anche modificare le cose e rendere umbracoRedirect & umbracoInternalRedirectId lavoro ma non sono sicuro che sarebbe di aiuto.

+1

Grazie, vedo che ho cercato di farlo in un modo leggermente diverso. Stavo cercando di evitare il manuale umbracoUrlName per ogni pagina. Sederli in cartelle nella radice sembra una soluzione abbastanza accurata. –

+0

HTH Un buon modello che ho trovato è quello di mettere tutto il contenuto sotto il nodo home con questa impostazione - e quindi si può avere la gestione del contenuto delle pagine non visibili (ad esempio la manutenzione dei pod) nell'albero dei contenuti. – amelvin

+0

Non riesco a trovare UmbracoUrlName nei tipi di dati, usando IMMO 6.1.5? c'è qualcosa di sbagliato in questa versione? – Sangeeta

Problemi correlati