Ciao a tutti.
Avrei un sito con varie sezioni, "Chi siamo", "Agenda", ecc...
Ogni sezione dovrebbe avere un link in un menù orizzontale in cima alla pagina, che una volta cliccato dovrebbe aprire la pagina di presentazione della sezione, ed a lato dovrebbe venire mostrato un sottomenù in cui si mostrano tutte le pagine figlie di "Chi siamo", ecc...
Esempio:
Links Primari
- Chi Siamo
-- L'associazione
--- Statuto
--- Organigramma
-- Il fondatore
- Agenda
-- Eventi
-- Prenotazioni
...
...
In cima alla pagina "Chi siamo", "Agenda"...
a lato, cliccando su "Chi siamo" (o qualsiasi sottovoce):
-- L'associazione
--- Statuto
--- Organigramma
-- Il fondatore
a lato, cliccando su "Agenda" (o qualsiasi sottovoce):
-- Eventi
-- Prenotazioni
ecc...
Ho preso ispirazione dai consigli di Bohz, realizzando la cosa con i moduli context e menu_block, nel post:
http://www.drupalitalia.org/node/9547
E più o meno ho realizzato quello che volevo. Il problema è che le pagine dei sottomenù vengono aggiunte dagli utenti, ed a loro non voglio ovviamente lasciare la gestione del modulo context, mentre il giochino funziona solo se, una volta inserita una pagina in un sottomenu, io vado in context a specificare che un click su questa pagina determina l'attivazione della voce di menù padre.
Qualcuno ha idea di come ottenere la cosa in automatico all'inserimento di ogni nuovo nodo, una volta appeso al giusto ramo di menù?
Ciao e grazie
Marco
per quanto ne so potresti aggirare l'ostacolo in 3 modi, forse 4
- pianificando il path di ciscuna pagina (anche quelle nuove) in modo che i percorsi siano consistenti all'interno di ciascuna sezione; e usare il percorso (path) come condizione per context
- splittando/replicando il menu in vari blocchi (ad es con il modulo menu_block), uno per sezione, e mostrare il blocco di menu appropriato per ciascuna sezione con context (in questo caso bisogna vedere qual'è la condizione migliore da usare; forse ancora il path)
- usare PURL + sites per forzare il percorso (path) di ciascuna sezione. qui però si resta in una sezione finchè non ci si sposta in un'altra (e quindi avresti qualche problema con pagine generali che non appartengono a nessuna sezione)
- se usi context 2.0 e non 3.0, puoi usare un campo cck o una categoria (taxonomy) di controllo che determina la sezione di ciascun nuovo contenuto
Certified to Rock
Posso dire che uso sia la tecnica #1, che la #4 definito da Carlo. Comunque, leggendo http://drupal.org/node/463898 un (altro) alternativo sarebbe Node Hierarchy - ma non l'ho esperimentato.
Comunque, questi tecniche possono essere una duplicazione di lavoro (perchè usare Node Hierarchy quando ho già la geriarchia nel menù), quindi una strada 'programmatica' potrebb'essere questo articolo: http://echodittolabs.org/blog/2010/04/drupal-fails-set-active-menu-trail... che essenzialmente 'corregge' il problema dei menù (pensa ai breadcrumb) quando non usiamo il menù 'privelegiato' di Drupal - navigation.
Non ho sperimentato nemeno con questo, ed a prima occhiata mi sembra 'complesso', credo che il query può essere sostituito da una chiamata - se sapesse quale ;-)
Usando Menù breadcrumb apparentemente risolve il problema (il che mi sembra logico) - al costo di un'altro modulo.
Più imparo, più dubito.
Grazie a tutti per i suggerimenti.
Per ora ho provato ad installare "Menu Breadcrumb"... in effetti tutto è andato a posto alla perfezione.
ciao a questo punto credo di avere dei seri problemi a capire l'italiano... ma da quando mi sono cominciato ad interessare di drupal qualsiasi cosa che non sa espressa in maniera sequenziale e passo passo, sembra non riuscire se non con un dispendio di tempo, pazienza ed energie esagetate in un ambiente lavorativo.
Premetto che da quanto leggo in giro si dice di non modificare il codice del core, e che per usare drupal per fare qualsiasi cosa nn si mettono mani al codice... ma a me non sembra...non sono sfortunatamente un programmatore per cui è tutto molto difficile ma sono incaponito su questo prodotto per cui... vorrei capire...
stavo pensando... per aiutare forse tutti i babbioni che si trovano nella mia situazione non potreste fare dei video che facciano vedere in 10-15 min cosa c'è da fare? grazie mille e W drupal io sto usando la 6.22 ;) ciao
ps cmq intanto vado a leggermi i post sopra poi vi faccio sapere
less... is better than nothing!
"non toccare il core" e "non mettere mano al codice" sono 2 concetti diversi. Il codice c'è nel core e nei moduli. L'idea base di estendere Drupal è usare moduli esistenti o crearne ad hoc. La seconda opzione prevede di creare del codice. Altri casi in cui si usa del codice si verificano quando sono necessarie modifiche al tema, tramite la modifica o l'aggiunta di template. Il codice si tocca eccome, soprattutto se vuoi fare personalizzazioni oltre a quanto fornito da temi e moduli.