Ciao a tutti, ho un problema piuttosto complicato. Ho due tipi di nodi a cui ho associato due viste differenti.
VISTA1 -> NODO1
VISTA2 -> NODO2
Come impostazione della pagina della VISTA1 ho inserito il seguente valore:
Il percorso del menu o URL di questa vista: node/%
In questo modo per tutti i contenuti del NODO1 verrà visualizzata la VISTA1. Funziona correttamente.
Come impostazione della pagina della VISTA2 ho inserito il seguente valore:
Il percorso del menu o URL di questa vista: node/%
In questo modo per tutti i contenuti del NODO2 verrà visualizzata la VISTA2. Purtroppo, però, questa vista visualizza solamente l'argomento e nessun contenuto.
Credo che questo problema derivi dal fatto che le due viste hanno lo stesso url. A quanto ho capito, l'apertura di un qualsiasi nodo considera la VISTA1 come vista principale mentre la VISTA2 non viene mai presa in considerazione.
Come dovrei procedere in questo caso?
Grazie
Ma node/% e già assegnato! Non solo ma è quello usato per caricare qualunque nodo!
Devi pensare 'alla rovescia'. Drupal riceve l'URL e da quello decide quale funzione eseguire. Ovviamente non ci possono essere due o tre diverse funzione per un singolo URL. In quel caso Drupal sceglierà il primo che viene restituito dal database.
La tabella (se ti interessa) è
menu_router
.Bisogna cambiare l'URL dei quei due viste, magari in 'view/node-type-1' e 'view/node-type-2', basta che non scegli un percorso già stabilito...
(Io uso quasi sempre view, anche perchè views è già usato da vista - views stesso)
John
Più imparo, più dubito.
Ok, volevo solo una conferma su ciò che pensavo.
Il problema, adesso, è che il modulo Pathauto mi genera automaticamente gli alias impostandomi, come percorso system, come valore "node/n" o per i termini il percorso "taxonomy/term/n". Per i termini non ho problemi ma per i due tipi di nodi che ho creato il problema esiste. Io mi ritrovo con due viste: la VISTA1 che si basa sul tipo di NODO1 e la VISTA2 che si basa sul tipo di NODO2.
Pathauto, da quanto ho capito, è molto usato quindi magari sto seguendo la strada sbagliata.
Dimmi tu che fare!!
Resisto a tutto forchè le tentazioni...
Probabilmente l'hai già fatto, ma guarda di nuovo admin/build/path/pathauto (spero che hai installato/abilitato Token - che mi sono dimenticato di dirtilo). Puoi settare il percorso di ogni tipo di contenuto oppure uno per tutti... C'è da imbizzarirti davvero - anche tax terms... Manca solo che ti offre un Luccano...
Più imparo, più dubito.
Forse non hai localizzato esattamente il mio problema..
Pathauto mi ha creato i seguenti alias:
Se io con una vista punto a "view/locale/%" anzichè a "node/%", Pathauto in ogni caso di assegna i percorsi di sistema e quindi gli alias non funzionano.
Penso di si, invece...
Facciamo un piccolo esempio. Prima i nodi.
Pathauto assegna in automatico gli alias e basta. Quindi posso specificare di usare [type]/[title-raw] e così il mio node/123 diventa news/read-all-about-it. Anzi posso accedere al nodo sia con node/123, che con news/read-all-about-it. (Per questo certi usano anche Global Redirect).
Grazie a Path, se io digito http://www.sito.it/locale/x questo dentro Drupal viene convertirto (da Path) in una richiesta per node/1, e tramite il percorso
node/%
Drupal esegue la funzione che visualizza il nodo - 1 in questo caso. Facciamo event_new/20100318/Pippo -> node/9 -> node/% -> funzione che visualizza il nodo - 9, e cosi via.Adesso le viste. Specificando una pagina (Page) sotto la voce 'Impostazioni pagina' possiamo settare il percorso per questa vista. Non c'entrano i wildcard (%) perchè la vista è una sola e avrà un URL solo. Quindi io avrei creato due path:
view/evento_new
per la vista dei nodi di tipo evento_new, eview/locale
per i nodi di tipo locale. Ma potevo chaimarli come mi piace e pare, magari pippo e pluto...Così se specifico http://www.sito.it/view/locale Path non converta niente (non c'è un alias, ma una mappatura diretta), e Drupal chiama la funzione di Views che visualizza la lista. Cosa viene visualizzato dipende dei parametri settati nella vista, non dal percorso URL che specifica solo quale vista.
Un pò più chiaro adesso? Allora infangiamo gli acque...
Si può mettere i wildcard nei percorsi delle viste! L'esempio lampante e taxonomy_term: taxonomy/term/% - ma non c'entra Path, e solo un meccanismo di Views per 'leggere' parametri in più. In questo caso diamo il tid - identificatore di termine - per filtrare nodi che riferiscono a quel termine. Ma non sono io a digitare taxonomy/term/123, viene generato dal codice Drupal...
Ma nel tuo caso, se non hai specificato il wildcard (%) in errore, non capisco cosa viene passato come parametro e da chi...
HTH
John
Più imparo, più dubito.
Tutto ciò che hai detto mi è chiaro. Ti spiego un attimo come funziona la mia struttura del locali..
Ho un nodo di tipo Locale in cui mi ritrovo una serie di luoghi a cui dovrò associare determinati eventi, ma per il momento non parliamo del tipo di nodo Evento.
Mi sono creato una vista che punta a http://www.miosito.it/locali in cui c'è la lista di tutti i locali che ho in archivio. All'interno di questa lista, per ogni locale, c'è anche il nome del locale che sarebbe il titolo del nodo di tipo Locale. Quest'ultimo è linkato direttamente al suo nodo, ad esempio http://www.miosito.it/node/1. Quando apro la vista http://www.miosito.it/locali e clicco su uno di questi locali dovrei visualizzare la sua scheda. Questa scheda l'ho creata tramite un'altra vista. Adesso sono due le scelte:
1) fare in modo che aprendo il percorso http://www.miosito.it/node/1 si apra la vista della scheda locale e per far ciò devo impostare il percorso di questa vista come http://www.miosito.it/node/%.
2) sulla vista http://www.miosito.it/locali non devo linkare più direttamente al nodo ma utilizzare l'output link e puntare a http://www.miosito.it/scheda_locale. Quest'ultimo percorso lo imposto alla vista della vista della scheda locale. Facendo così, però, l'alias non funziona perchè il percorso della scheda locale non sarà più http://www.miosito.it/node/1 ma http://www.miosito.it/scheda_locale/1. Per far funzionare gli alias dovrei aggiungere uno ad uno tutte le schede locali senza far puntare ai percorsi di sistema node/#.
Non è facile da spiegare. Spero che tu abbia capito adesso il mio problema.
Infatti, non ho capito...
Tipo Rock Caffè = Locale, poi New York, Muenchen, London = luoghi?
Fin qui abbastanza chiaro. Locale == Nodo. Ma luogo = campo CCK, o altro Nodo?
Più imparo, più dubito.
Scusami se non ti ho risposto prima ma ho passato tutto il week-end a Zurigo.
Probabilmente mi sono nuovamente spiegato male.. Locale e luogo sono la stessa cosa!!
Esistono solamente due tipi di nodi: Locali (o luoghi) e eventi.
Come mai faccio parlare due viste e non utilizzo direttamente la visualizzazione originale di un nodo??! Lo faccio perchè Views mi da la possibilità di gestire meglio il layout e probabilmente il mio sbaglio è proprio qui!!! Proverò a fare le cose molto più semplici e vediamo se riesco a risolvere.
Ti aggiorno, grazie.
Ok, ho seguito i tuoi suggerimenti. Utilizzo la visualizzazione di default del nodo.
C'è un modo per rendere più flessibile il layout di un nodo tramite Amministra -> Gestione dei contenuti -> Tipi di contenuto -> manage fields -> Visualizza campi??
Probabilmente usando un template node-tipo-di-contenuto.tpl.php. vedi http://api.drupal.org/api/drupal/modules--node--node.tpl.php/6 - $node è il tuo amico:
<?php print('<pre>'. check_plain(print_r($node, TRUE)) .'</pre>'); ?>
Più imparo, più dubito.