Api

Le module Search de Drupal combiné avec le module Node indexe, par défaut, tous les types de contenus. Maintenant si on veut choisir parmi les types de node à indexer, voici deux solutions que j'utilise pour choisir les types de noueds à indexer:

- La première consiste à activer le module search_config, mais cette solution est pratique si on veut utiliser que le module search et ces fonctions de recherche.

Pour ajouter un fichier CSS ou javascript dans notre développement Drupal dispose d'une fonction pour cela:

<?php
 
  // Ajouter un fichier CSS
  drupal_add_css($path = NULL, $type = 'module', $media = 'all', $preprocess = TRUE);
 
  //Ajouter un fichier js
  drupal_add_js($data = NULL, $type = 'module', $scope = 'header', $defer = FALSE, $cache = TRUE, $preprocess = TRUE);
 
?>

Voici comment récuperer le chemin relative d'un module ou d'un thème

<?php 
  // Pour les modules
  drupal_get_path('module','nom_du_module');
 
  //Pour les themes 
  drupal_get_path('theme','nom_du_theme');
?>

Sur cet exemple, on va voir comment on peut configurer Drupal pour se connecter sur plusieurs bases de données.

Pour commencer je reviens sur le faite que Drupal enregistre les configurations de la BDD sur le fichier sites/default/settings.php et c'est là où on va changer un peu notre configuration.

Pour la BDD c'est stocké sous l'un de ces formats (selon notre type de BDD) :

* $db_url = 'mysql://username:password@localhost/databasename';
* $db_url = 'mysqli://username:password@localhost/databasename';
* $db_url = 'pgsql://username:password@localhost/databasename';

Pour ajouter une views avec votre code et afficher le résultat voici une fonction simple qui fait tout le boulot pour vous:

<?php
  /* 
    $nom  => le nom de la views
    $type => le type : default,feed,page etc.
    $args => les arguments de la views ( Valable si la views possède des arguments ) 
    N.B : Pour les versions < .7 c'est un array et pour >.7 c'est un ensemble de vars
  */
 
  $output = views_embed_view($nom, $type = 'default',$args);
 
?>

Pour récuperer la liste des thèmes activés sur votre site Drupal, il existe une function Drupal qui retourne les données de chacun dont voici le nom :

<?php system_theme_data(); ?>

Voici un extrait du retrour:

Array
(
    [minnelli] => stdClass Object
        (
            [filename] => themes/garland/minnelli/minnelli.info
            [basename] => minnelli.info
            [name] => minnelli
            [info] => Array
                (
                    [name] => Minnelli

Drupal nous offre une founction très pratique pour inclure un fichier dans notre code au lieu d'utiliser la function include de PHP, dont voici le code:

<?php
  //$type = ectension du fichier exemple 'inc'
  //$module = le module ou le fichier est présent//$name = Optionnel, le nom du fichier sinon le nom du module sera utilise
  module_load_include($type, $module, $name = NULL);
?>