Submitted by Kerhael on
Bonjour,
Je cherche à afficher, au survol des régions d'une carte de France, les informations relatives à ces régions.
Ces informations sont contenues dans une base de données externe à Drupal.
Dans le fichiers settings.php, j'ai le code suivant :
<?php
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => 'drupal2',
'username' => 'root',
'password' => 'MAY@M9z1rT',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
'extra' =>
array(
'default' =>
array(
'database' => 'extraf',
'username'=> 'username',
'password' => 'password',
'host' => 'xx.xx.xx.xx',
'driver' => 'mysql',
),
),
);
?>
Dans mon template, une fonction javascript contient la ligne de code suivante :
$.get("<?php echo $base_path . path_to_theme() ?>/actions.php"...
Le fichier actions.php se situe sous sites/all/themes/monTheme/actions.php et contient le code suivant :
<?php
db_set_active('extra');
$sSQL = "SELECT monChamp FROM maTable";
$query = db_query($sSQL);
...
db_set_active('default');
?>
Or, quand je passe la souris sur une région, j'obtiens l'erreur :
Fatal error: Call to undefined function db_set_active() in \sites\all\themes\monTheme\actions.php on line 3
Quelqu'un saurait-il d'où vient le problème ?
Merci,
Il est probable qu’il manque
Permalien Soumis par Numerizen le 8 Juillet, 2011 - 18:17
Il est probable qu'il manque un include dans le fichier de thème pour que les fonctions de BD soient accessibles.
A vue de nez : http://api.drupal.org/api/drupal/includes--database--database.inc/functi... , je dirais qu'il faudrait faire un include_once sur includes/database/database.inc
C’était bien le problème,
Permalien Soumis par Kerhael le 11 Juillet, 2011 - 09:24
C'était bien le problème, entre autres.
Il fallait en fait ajouter au début de mon fichier actions.php les lignes :
Donc le include mais aussi définir la constante DRUPAL_ROOT.
Merci de votre réponse !