2012-11-01 11 views
6

Sto lavorando con ExpressionEngine e le ultime versioni del componente aggiuntivo Struttura.Come generare una barra di navigazione multilivello con il componente aggiuntivo Struttura ExpressionEngine?

Sto cercando aiuto sulla generazione di una barra di navigazione di 4 elementi, in cui due elementi si trovano in un diverso livello di struttura.

mie righe struttura simile a questa:


Services (genitore)

----- Traduzione (bambino)

----- Video (bambino)

Studio (genitore)

Chi siamo (genitore)


E la mia barra di navigazione principale dovrebbero essere:

Traduzione - Video - Studio - Chi siamo

Come si può vedere che sono a diversi livelli. Ho lavorato per ore provando anche con l'add-in Structure Entries, ma semplicemente non riesco a trovare un modo per generare questa navigazione.

Apprezzerei qualsiasi aiuto tu possa darmi.

+0

C'è qualche ragione particolare per cui la gerarchia della struttura non corrisponde alla navigazione che si desidera utilizzare? Se lo facesse, Structure avrebbe fatto tutto il duro lavoro per te. –

risposta

8

Struttura in ultima analisi, memorizza i propri 'pagine' come voci EE regolari, così si potrebbe semplicemente hardcode l'ID della voce di in un canale: ciclo voci per afferrare i titoli:

<ul> 
{exp:channel:entries dynamic="no" entry_id="3|4|6|12" disable="categories|pagination|member_data"} 
    <li><a href="{page_uri}">{title}</a></li> 
{/exp:channel:entries} 
</ul> 

In alternativa, se si vuole dare al cliente il controllo completo di ciò che appare nella navigazione è possibile impostare un campo casella di controllo personalizzato per 'show su nav primaria' e quindi utilizzare qualcosa di simile:

<ul> 
{exp:channel:entries dynamic="no" search:options="=show on primary nav?" disable="categories|pagination|member_data"} 
    <li><a href="{page_uri}">{title}</a></li> 
{/exp:channel:entries} 
</ul> 

(sarebbe un po 'più bello utilizzando P & T Caselle di controllo, invece di lo schifoso costruito -in uno.)

Senza offesa per il modulo Struttura, ma è questo genere di cose che mi farebbero davvero usare Nav-EE, o, più spesso, opterei per un navigatore di livello superiore interamente codificato ... il cliente di solito pensa di aver bisogno di un controllo completo, ma in realtà la navigazione di livello superiore raramente cambierà (e quando è probabile che abbiano comunque bisogno che tu faccia altri lavori sul sito!).

+0

Ciao James, ho appena provato il codice hard e funziona alla grande. Ho usato fixed_order = "3 | 4 | 6 | 12" per controllare l'output. Grazie molto! –

+1

@SergioAcosta non dimenticare di contrassegnare la risposta di James come accettata se si è dimostrata la soluzione che funziona per te. – Tyssen

0

Dal momento che hai già speso molto tempo a giocherellare con le voci di struttura, direi dare Tassonomia un colpo dal momento che sarà sicuramente ottenere il lavoro fatto con pochissimo rumore. http://devot-ee.com/add-ons/taxonomy

Per la gestione di un albero di nav che non si adatta allo stampo, il modulo Tassonomia è molto pratico e flessibile.

+0

Mi sembra interessante. Sai se la Tassonomia gioca bene con la Struttura? –

+0

Sì, lo fa. È molto flessibile, quindi può funzionare con template/entry o con "page URI" (che è ciò che creano sia il modulo Structure che Pages). Devi solo scegliere la voce (pagina) a cui vuoi collegarti e poi selezionare "usa l'URI delle pagine" e poi sei pronto. Ha anche opzioni per il collegamento a URL personalizzati. Davvero flessibile. –

3

sono riuscito ad ottenere il modo Struttura per ottenere che la navigazione, che è piuttosto un codice:

<ul class="myclass"> 
{exp:structure:nav start_from="/services" include_ul="no"} 
{exp:structure:nav exclude="21|4|10" max_depth="1" include_ul="no"} 
</ul> 

ho trovato la soluzione di codifica rigido James' un'opzione migliore. Grazie!

Problemi correlati