Salve a tutti!
Vorrei creare su un nuovo sito che ho appena creato con drupal 7.23 una pagina "Infovoli". Premessa: questo sito è stato creato con lo scopo di fornire informazioni e supporto alle famiglie dei ragazzi che vincono la selezione locale dei Campionati Internazionali di Giochi Matematici e che quindi devono andare in trasferta a Milano per disputare la finale nazionale. In questo sito perciò ci sarà una pagina dove il visitatore potrà trovare un elenco dei voli per Milano (Linate, Malpensa e Orio al Serio) disponibili nelle date prossime a quelle della finale.
Vorrei quindi creare una specie di form dove ci siano i seguenti campi:
Seleziona l'aeroporto dal quale vuoi partire
Seleziona la data di partenza
Seleziona la data di rientro
Le date saranno limitate: come data di partenza saranno selezionabili soltanto il giorno prima della finale ed il giorno stesso. Come data di ritorno saranno selezionabili il giorno stesso della gara oppure il giorno dopo. Vorrei fare in modo che in base ai dati inseriti, vengano visualizzati tutti i voli disponibili che corrispondano a quei criteri. Faccio un esempio
Aeroporto di partenza: Roma Fiumicino
Data di partenza: 9 Maggio 2014
Data di rientro: 11 Maggio 2014
In questo caso dovrebbe apparire automaticamente un elenco dei voli disponibili in quelle date da Fiumicino a tutti e tre gli aeroporti milanesi, e viceversa tutti i voli disponibili dai tre aeroporti lombardi verso Fiumicino.
Chiaramente inserirei io aeroporto per aeroporto gli elenchi dei voli, non mi aspetto che questa pagina del sito cerchi da sola i voli come se fosse un sito di viaggi, anche perchè ci sono voli che non sono compatibili con gli orari della gara e quindi non voglio assolutamente che vengano elencati. Io in pratica creerei tutte le liste dei voli (sarà un lavoro lungo e impegnativo ma sono in grado). Ad esempio l'elenco dei voli disponibili da/per Fiumicino, Ciampino, Napoli, Palermo.................................. ecc ecc ecc.... (tanto per fare degli esempi) e il form fa visualizzare l'elenco giusto in funzione dei dati ricercati.
Con il sito formassembly si riesce a fare qualcosa di simile (posso impostare io l'azione successiva a seconda della risposta selezionata: ad esempio se uno dall'elenco seleziona l'aeroporto di Fiumicino come partenza posso fare in modo che in quel caso rimandi ad una pagina successiva del form specifica, che soltanto selezionando "Fiumicino" viene visualizzata), ma preferirei riuscire a creare una cosa analoga direttamente nel sito invece che fare un form a parte che dovrei linkare nel mio sito.
Come potrei fare? Spero di essere riuscito a descrivere bene cosa cerco di realizzare, grazie in anticipo a tutti per l'aiuto e la pazienza :) :)
Salve,
butto li un idea al volo:
crearti un tipo di contenuto "Volo" con i campi "aeroporto di partenza" e "aeroporto di arrivo" (collegati a una tassonomia "Aeroporti"), un campo "data di partenza" e "data di arrivo" (campi Date)..
Poi tramite una view con campi di filtraggio (date e aeroporto "da" a "a") filtrare i contenuti inseriti da te..
Luca C.
Quindi così facendo in pratica l'unico modulo aggiuntivo che mi servirebbe è per la view? Dovrò fare un pò di pratica con la tassonomia, che a malapena so a grandi linee di che si tratta :) Piuttosto, ho letto in diversi post che i moduli view sono un manicomio molto complesso, è davvero così? Ho letto spesso (cercando in internet in generale, non soltanto nel forum) commenti un pò scoraggianti, speriamo bene :/ Cosa sono i campi di filtraggio? Ti chiedo scusa, sono ancora piuttosto alle prime armi :) Grazie mille per le indicazioni :)
moduli aggiunti avresti, come detto da te, il modulo https://drupal.org/project/views per ricavare l'elenco dei voli inseriti (con o senza i filtri) e il modulo https://drupal.org/project/date per poter inserire le date..
Per la tassonomia prima di partire con la pratica consiglio un attenta lettura della documentazione/spiegazioni che trovi sia nel sito drupal.org (https://drupal.org/node/774892 (EN)) sia in drupalitalia.org (http://www.drupalitalia.org/node/195 - http://www.drupalitalia.org/taxonomy/term/470) così da farti un'idea di cosa sia e come si usa;)
Ti dico la verità il modulo Views si comprende subito (a mio avviso) se si hanno le basi SQL e se si comprende cosa si cerca di ricavare..con quest'ultima parte voglio dire che molte volte capita di vedere programmatori e non che cercano di usare il modulo ma senza conoscere il risultato o ciò che si vuole ottenere..
Esempio: ci interessa l'elenco di tutti i voli inseriti nel sistema ed elencati dai più recenti ai meno..
ecco che imposterò la "vista" in modo che filtri tutti i contenuti di tipo "Volo" e ordinati in modo DESC in base al campo "Data di inserimento del contenuto"..se poi aggiungiamo altri filtri, anche esponendoli all'utente, ecco che miglioriamo la vista raggiungendo anche lo scopo di dar dinamicità alla view..
Questa parte che sembra banale a volte alcuni se la dimenticano di farla..e nel partire ad usare il modulo si va in crisi e si abbandona il tutto..
Che il modulo View, infine, possa ritenersi complesso non lo nego ma solo se si cerca di portare la vista a interagire con altre entità o riferimenti; in poche parole se si cerca di espandere il tutto al massimo..
Invito poi a leggere la documentazione (google translate se non si mastica bene l'inglese) di view (https://drupal.org/documentation/modules/views) e a guardarsi anche qualche video;)
Domande e dubbi, come hai fatto, ponile qui nel forum;)
Ciao!! Per prima cosa grazie per le info e per le rassicurazioni circa il modulo view :) Installato e attivato senza problemi, ho impostato tre filtri: Aeroporto di partenza, data di partenza e data di ritorno. Tutti e tre esposti al visitatore, tutti e tre obbligatori. Il tipo di filtro per tutti e tre è "Contenuto: Ha un termine di tassonomia", ciascun filtro fa riferimento ad un omonimo vocabolario (es. il filtro "Aeroporto di partenza" fa riferimento al vocabolario "Aeroporti" il quale contiene come termini i nomi degli aeroporti). Poi ho creato il tipo di contenuto "Voli" gli ho impostato tre campi del tipo riferimento termine, ciascun campo fa riferimento ad un vocabolario della tassonomia (es: il campo "Aeroporti" che fa riferimento allo stesso vocabolario "Aeroporti"). Poi per fare un test ho creato un nodo (tipo contenuto "Voli" ovviamente) l'ho chiamato "Ancona Falconara" (tanto per fare una prova), gli ho impostato nel campo aeroporti il termine "Ancona Falconara", poi gli ho impostato le date e ho creato la pagina. Provando poi la pagina della view, ho selezionato "Ancona Falconara" come aeroporto e poi come date le stesse impostate a quella pagina di prova. Mi aspettavo, avviando la ricerca, che mi aprisse la pagina in questione "Ancona Falconara"... ma non succede niente. Ma proprio nulla, niente di niente, resta tutto esattamente com'è.
Come mai? Sicuramente c'è qualcosa che mi sfugge, spero che quello che ho fatto finora sia giusto (almeno un pochino) O:-)
Ancora grazie mille! :)
La view non ti apre la pagina ma dovrebbe darti il risultato (in forma tabellare o altro) della ricerca nel tuo caso.. poi cosa vuol dire che "non fa nulla"? la pagina si ricarica?, cambiano i risultati che vedi? devi essere più specifico!:)
Ok scusa O:-) Non succede niente nel senso che rimane la stessa pagina così com'è :) Per qualche istante si vede che al posto dell'icona del sito sulla scheda (uso Google Chrome) compare il simboletto circolare di caricamento, poi torna ad esserci l'icona normale, suppongo quindi che si ricarichi la stessa pagina. A parte questo dettaglio non si nota nessun altro cambiamento. Ma quindi la procedura che ho attuato finora è corretta?
Piccolo cambiamento di programma: la vista così come la stavo impostando mi costringeva (correggimi se sbaglio) a creare più pagine per ogni aeroporto, a causa delle date di andata e rientro. Mi spiego, se come possibili date di andata inserivo 9 Maggio e 10 Maggio, e come ritorno 10 Maggio e 11 Maggio, per ciascun aeroporto avrei dovuto creare quattro pagine:
Andata 9 Maggio - Ritorno 10 Maggio
Andata 9 Maggio - Ritorno 11 Maggio
Andata 10 Maggio - Ritorno 10 Maggio
Andata 10 Maggio - Ritorno 11 Maggio
In modo che ci fosse una pagina pronta qualsiasi fossero le date selezionate nella ricerca, in pratica una pagina per ognuna delle possibili combinazioni, e considerato che devo inserire circa 20 aeroporti... avrei dovuto creare un'ottantina di pagine. Diventa un manicomio anche soltanto crearle senza fare confusione, e sopratutto tenerle aggiornate.
Per semplificare, e sopratutto ridurre al minimo il rischio di miei errori nella compilazione di orari, codici volo ecc... (se sbaglio in questo infovoli mi linciano da tutta Italia, meglio evitare :D ), preferisco realizzare una sola pagina per ciascun aeroporto, suddivisa in quarti grazie ad una tabella. Ho preparato una pagina di prova: http://www.tabletdelfinalista.it/?q=elmas (ho preso gli orari dell'anno scorso da dei vecchi file che ho nel pc, nella pagina principale del mio Infovoli sarà precisato che non sono riportati tutti i voli esistenti, bensì sono esclusi quelli che sono incompatibili con gli orari dell'evento, senza alcuna indicazione o preferenza per l'una o l'altra compagnia aerea, lungi da me voler fare pubblicità scorrette nel sito :) ).
Di conseguenza, nella vista resterebbe soltanto il filtro per selezionare l'aeroporto, gli altri due per le date andrebbero tolti... Mi chiedevo se a questo punto non sarebbe più adatto, anziché il modulo view, il più semplice modulo Custom Search :) L'avevo già provato qualche giorno fa e mi sono trovato bene, ma in questo caso non era adatto dovendo inserire più filtri per la ricerca. O magari una bella cartina dell'Italia con i punti cliccabili per gli aeroporti, da realizzare con Image Mapper... cosa mi consigli? :)
Non riesco a capire il "cambiamento di programma" ne che c'entrano gli aeroporti.. alla fine il contenuto o meglio l'informazione che vi interessa è legata al "Volo".. esempio "ROMA->MILANO in data 25Agosto2013, MILANO->ROMA 25agosto2013, MILANO->NAPOLI 25Agosto2013 ecc.. gli aeroporti son solo "un campo" del contenuto informativo..(e i valori son statici e dati dalla tassonomia).
e poi non vi seguo col discorso di creazione delle pagine..perchè deve creare una pagina per aeroporto? torniamo al discorso di sopra..l'informazione da trattare non è l'aeroporto ma bensì il volo..