[bglug] R: Re: aiutone su drupal

m.valagussa@libero.it m.valagussa@libero.it
Mer 31 Mar 2010 10:23:06 CEST


Ciao a tutti
Rieccomi....
seguendo le vostre indicazioni, ho fatto un moduletto drupal che esegue la mia cgi esterna, parsa l'output prodotto e lo inserisce come contenuto del nodo di drupal. Cambia tutti i link dentro la pagina in modo che si passi atraverso questo modulo drupal. Ci sono dei limiti che pero` non mi impediscono di fare quanto mi serve.
 La cosa funziona ma, ovviamente sono emersi dei problemi, che a mio avviso sono legati alla cache: ovvero il nuovo contenuto e` visibile solo dopo avere effettuato il clear della cache via la selezione dell'entry di menu `Flush all cache'. 
Credo che la soluzione sia  che drupal non inserisca questa pagina  nella sua cache.
Cercando in giro (in particolare il module cacheexclude) ho visto che bastava mettere l'istruzione
$GLOBALS['conf']['cache'] = FALSE;
dentro la hook_init del mio modulo..... e cosi` ho fatto ma, purtroppo, non e` cambiato nulla.
Il problema sembra risolto aggiungendo le seguenti istruzioni (prese dal sorgente della funzione  drupal_flush_all_caches) nella hook_init del mio modulo:
               $core = array('cache', 'cache_block', 'cache_filter','cache_page');
                $cache_tables = array_merge(module_invoke_all('flush_caches'),$core);
                foreach ($cache_tables as $table) {
                        cache_clear_all('*', $table, TRUE);
                }
Sinceramente ho dei seri dubbi sull'utilizzo di questo codice perche` applica un metodo `di forza bruta' poco razionale e sono convinto che esista un modo migliore ma che, purtroppo, non ho saputo scovare o nonho capito.

Qualcuno puo` essermi d'aiuto?
Ciao e grazie a tutti per le risposte precedenti e per quelle future,
 Marco  




----Messaggio originale----

Da: darioghilardi@gmail.com

Data: 21/03/2010 14.18

A: <bglug@lists.linux.it>

Ogg: Re: [bglug] aiutone su drupal



Il giorno 17 marzo 2010 14.24, m.valagussa@libero.it <m.valagussa@libero.it> ha scritto:

Buongiorno a tutti,

vorrei sottoporre un paio di domande (apparentemente assurde) agli esperti di

drupal in lista:

1-come posso inserire nel contenuto di un nodo l'output prodotto da una cgi

esterna a drupal senza utilizzare gli IFRAME?

Ciao,
lo puoi parsare, puoi ripetere quello che fa la cgi se estrae dati da un db, puoi fare scrivere alla cgi un file xml e poi leggerlo da php, ecc.

Ci sono mille soluzioni, dipende da quello che vuoi fare.
 
2-come passo, di volta in volta, parametri diversi a questa cgi?

Dipende da come funziona la cgi...la puoi modificare? Usa parametri da URL per determinare ciò che espone?
 


Se mi permettete un'esagerazione o semplificazione nel descrivere il problema,

quello che vorrei fare e` implementare gli iframe sul lato server.

Non è molto chiaro il problema.
Ciao,
Dario






-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/bglug/attachments/20100331/cddd587f/attachment.htm>


Maggiori informazioni sulla lista bglug