bug in variabile globale $base_url ?

8 contenuti / 0 new
Ultimo contenuto
bug in variabile globale $base_url ?

Salve a tutti
sto utlizzando la versione 6.13 in un modulo avevo bisogno di accedere alla variabile globale $base_url ma ho notato la seguente cosa :
$base_url = null
$GLOBALS['base_url'] = 'valore del path corretto'

è capitato a qualcun'altro ? è un bug della versione di drupal o un possibile errore di configurazione ?

Grazie Marco

no... a me no, uso costantemente base_url

Slice2Theme Servizio per la conversione di Design in markup HTML e/o temi.

WeBrain Solution | Pillsofbits Of Bits

So che e' un osservazione banale, ma forse manca il global?

Sintetika wrote:
Salve a tutti
sto utlizzando la versione 6.13 in un modulo avevo bisogno di accedere alla variabile globale $base_url ma ho notato la seguente cosa :
$base_url = null
$GLOBALS['base_url'] = 'valore del path corretto'

E se scrivi:

<?php
global $base_url;
print(
$base_url);
print(
$GLOBALS['base_url']) 
?>

Cambia qualcosa?

Esempio codice non mio (in modules/book.module):

<?php
 
/**
 * Process variables for book-export-html.tpl.php.
 *
 * The $variables array contains the following arguments:
 * - $title
 * - $contents
 * - $depth
 *
 * @see book-export-html.tpl.php
 */
function template_preprocess_book_export_html(&$variables) {
  global
$base_url, $language;
 
$variables['title'] = check_plain($variables['title']);
 
$variables['base_url'] = $base_url;
 
$variables['language'] = $language;
 
$variables['language_rtl'] = ($language->direction == LANGUAGE_RTL);
 
$variables['head'] = drupal_get_html_head();
}
?>

John

Più imparo, più dubito.

jhl.verona wrote:
So che e' un osservazione banale, ma forse manca il global?

Sintetika wrote:
Salve a tutti
sto utlizzando la versione 6.13 in un modulo avevo bisogno di accedere alla variabile globale $base_url ma ho notato la seguente cosa :
$base_url = null
$GLOBALS['base_url'] = 'valore del path corretto'

E se scrivi:

<?php
global $base_url;
print(
$base_url);
print(
$GLOBALS['base_url']) 
?>

Cambia qualcosa?

Esempio codice non mio (in modules/book.module):

<?php
 
/**
 * Process variables for book-export-html.tpl.php.
 *
 * The $variables array contains the following arguments:
 * - $title
 * - $contents
 * - $depth
 *
 * @see book-export-html.tpl.php
 */
function template_preprocess_book_export_html(&$variables) {
  global
$base_url, $language;
 
$variables['title'] = check_plain($variables['title']);
 
$variables['base_url'] = $base_url;
 
$variables['language'] = $language;
 
$variables['language_rtl'] = ($language->direction == LANGUAGE_RTL);
 
$variables['head'] = drupal_get_html_head();
}
?>

John

Osservazione per nulla banale ;-) Si John ho fatto una prova e funziona se inserisco
global $base_url;
all'inizio della funzione.
Credevo che Drupal già avesse dichiarato global le variabili globali come $base_url e che negli script e nei moduli potessi utilizzarli senza stare a scrivere appunto
global 'nome_var'

thnx Marco
Marco

Sintetika s.r.l.
Communication Technology Innovation

www.sintetika.it

Le variabili globali vanno definite "global" all'interno delle funzioni.

Non è una cosa di Drupal, ma di PHP.

M.

--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

beh ... immagino se in un include ci fossero definite tutte, nelle funzioni non sarebbero necessarie le definizioni ;-)

Marco

Sintetika s.r.l.
Communication Technology Innovation

www.sintetika.it

No, le devi definire nelle funzioni, altrimenti il PHP le considera "locali" e non "globali".
Cosa diversa sono le "define(NOME, VALORE)".

M.

--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

Grazie x il chiarimento Zio Budda ;-)

Marco.

Sintetika s.r.l.
Communication Technology Innovation

www.sintetika.it