Il percorso del menu o URL di questa vista

11 contenuti / 0 new
Ultimo contenuto
Il percorso del menu o URL di questa vista

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

WebLino wrote:
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!!

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

WebLino wrote:
Forse non hai localizzato esattamente il mio problema..
Pathauto mi ha creato i seguenti alias:
[Snip]
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.

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, e view/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...

WebLino wrote:
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.

Tipo Rock Caffè = Locale, poi New York, Muenchen, London = luoghi?
Fin qui abbastanza chiaro. Locale == Nodo. Ma luogo = campo CCK, o altro Nodo?

WebLino wrote:
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.[/quote]
Ti sto seguendo, credo. Lista == View.

WebLino wrote:
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.

Nebbia. Ed anche fitta. Non credo che puoi andare lì da qui - "you can't get there from here" - almeno non facilmente.

Una vista che punta ad una vista. Hmm. Ma mi domando perchè questa complessità.

Ti faccio io un esempio. Abbiamo un nodo che è il locale. Perchè non è questa 'la scheda'? Posso creare campi con CCK, per il # di telefono, o geolocazione, o tipo di locale, città, provincia, regione, ecc, ecc. O usare tassonomie, eccetto per telefono e geolocazione.
Se è una catena, tipo Rock Caffè, posso creare un associazione fra Locale (Nodo) e Luogo (altro tipo di nodo). Ma prima tenterei una soluzione singolo nodo (Locale) con campi compositi per il luogo, repetibile. E questa diventa mia 'scheda' (una specie di galleria, se vuoi).

Allora con la vista (lista) posso visualizzare locali per ordine di nome, o (tramite i campi CCK) per tipo, città, ecc. O tutti i locali di un tipo in una città, ecc, ecc.

Se metto qualche filtro a disposizione del'utente, allora la stessa vista può fare tutto questo.

Ovviamente se tu hai dei motivi molto chiare per seguire il tuo percorso, puoi ignorare le mie osservazioni - sono solo quelli.

Comunque, nella mia esperienza, se è difficile da spiegare, sarà anche difficile da implementare...

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.