Codice PHP in un blocco
Salve a tutti
stò cercando di entrare a far parte del mondo Drupal, è per questo che vi faccio questa domanda:
io inserisco del codice php in un blocco contentente una funzione che vorrei richiamare o da un'altro blocco o dal contenuto della pagina. In pratica vorrei includere un file php che ho già creato nel mio nuovo sito che stò creando con Drupal, ho letto che questo non è possibile quindi utilizzo le potenzialità dei blocchi.
Richiamando dalla pagina principale una funzione dichiarata in un blocco (e inserito in quella pagina) mi da questo errore:
Fatal error: Call to undefined function stampa() in /applicazioni/vlt/drupal/includes/common.inc(1537) : eval()'d code on line 8
la funzione da me creata si chiama stampa()
Che devo fare?
Anticipatamente ringrazio
ciao a tutti

Risposte
Funzioni dichiarate in un blocco
Per disporre di una funzione di visibilità "globale" è meglio creare un modulo che la dichiari. Non è detto che la funzione dichiarata nel blocco sia sempre soggetta al parsing del php (vuoi perchè ad esempio la cache dei blocchi è attivata) o che venga dichiarata prima del suo utilizzo (nel tuo caso all'interno del "contenuto" del nodo). Un esempio che può sembrare banale: questo codice funziona:
<?phpeval('function stampa($a){print $a;}');
print stampa('Hello World');
?>
questo restituisce l'errore che riporti sul post:
<?phpprint stampa('Hello World');
eval('function stampa($a){print $a;}');
?>