martes, 30 de septiembre de 2014

Usando funciones de Drupal desde archivos php externos


El siguiente script funciona para Drupal 6 y Drupal 7.

Asumiento que tenemos la siguiente estructura:

ROOT
- sites
- - all
- includes
- demo
- - test.php

test.php
define('DRUPAL_ROOT', getcwd().'/..');
chdir(DRUPAL_ROOT);
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$node = node_load(1164799);
echo '<pre>', print_r($node,1),'</pre>';

Detalles:

getcwd(): Obtiene la ruta actual del archivo. eg: /var/www/project01/demo

define('DRUPAL_ROOT', getcwd().'/..');
definimos una constante DRUPAL_ROOT, eg: /var/www/project01

chdir(DRUPAL_ROOT);
cambia el directorio actual, eg: /var/www/project01/demo
a eg: /var/www/project01

drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
Cargamos todo drupal.

Ahora ya se puede usar todas las funciones de drupal, como ejemplo muestro la carga de un nodo usando la funcion node_load().


Espero les haya servido este pequeño script que me resultó muy útil en algún momento.
Hasta otra oportunidad.