Salve a tutti,
mi chiamo Daniela ed ho già chiesto aiuto a questa comunità.
Mi è stato chiesto di creare delle finestre di popup, ma vado a spiegarmi meglio. Quando si posiziona il mouse su una parola del testo della pagina,ad esempio "geofita", vorrei che si visualizzasse una piccola finestra contenente un altro nodo, dove magari viene spiegato il significato della parola puntata. Come editor dei testi utilizzo Fckeditor, e preferirei non doverlo cambiare; ho ovviamente fatto dei tentativi e ho notato che se seleziono una parola e premo il tasto che imposta un collegamento,il sistema dà la possibilità di eseguire un link al nodo specificato (io scrivo ?q=node/n) e nella tab "Destinazione" posso anche selezionare "Finestra popup" .... e funziona pure! Ma nella finestra popup vedo tutto il sito, comprensivo di menu laterali, titoli, loghi eccetera, e non solo il nodo linkato.
Spero di essere stata chiara nel descrivere il mio problema e ringrazio chiunque possa dedicarmi un pò del suo tempo e delle sue conoscenze.
Daniela
Finestre di popup :come generarle?
Lun, 17/07/2006 - 14:47
#1
Finestre di popup :come generarle?
Prima di procedere con soluzioni faidate, ti consiglio di provare il modulo glossary. Se non ti soddisfa, ne riparliamo.
Ok Stefano,
ho scaricato, settato e provato il modulo glossary che mi hai consgliato. Come dice il suo nome, è un modulo che gestisce abbastanza semplicemente un glossario,facendo un match tra le parole presenti in una pagina e i termini creati precedentemente in un vocabolario. Potrebbe essere una soluzione. In realtà, la persona che mi ha chiesto di fare delle finestre popup penso che intendesse avere su una parola oppure una frase del testo un link, oppure chiamalo collegamento, ad un'altro nodo, un pò come succede nell'help in linea di Drupal. Solo che invece che saltare al nodo indicato lui vorrebbe che tale nodo si aprisse in una finestra sovrapposta, e che si vedesse soltanto il contenuto del nodo,non tutto il sito. Comunque, la soluzione fornita dal modulo Glossary è già qualcosa, spero che gli vada bene! Grazie comunque della dritta, è un modulo che non conoscevo e che mi verrà utile in altri siti in fase di realizzazione!
Daniela
Una soluzione pulita potrebbe essere installare i moduli cck oppure flexinode, creare un tipo di contenuto "glossario", e poi usare una funzione theme() specifica per il rendering di quel tipo di nodo.
Ho provato sia il modulo cck che il flexinode, e a parte la presenza di qualche bug non mi hanno soddisfatto un granché in relazione al problema.
Al posto tuo userei dei nodi di tipo "pagina" per il glossario e aggiungerei queste righe all'inizio della funzione phptemplate_page():
if ($_GET['glossary'] && arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
return $node->body;
}
Nel return puoi inserire eventualmente una funzione di tema più complessa:
return theme('node_glossary', $node);
che definisci in una tua include e ti visualizza il nodo come preferisci.
Poi nel popup linkato alla parola, che apre ad esempio il nodo 39, metterei l'url ?q=node/39&glossary=1. In questo modo i nodi aperti con glossary=1 vengono resi tramite quel codice.
Ok,Stefano,ci provo, ma la funzione phptemplate_page() a cui devo aggiungere le righe in quale modulo si trova? Ho provato a fare una ricerca del testo in questione in tutte le cartelle del sito ma non mi ha trovato nulla ....
Daniela
Sta dentro /themes/engines/phptemplate/phptemplate.engine