Entradas

Un pr() para Drupal

pr() es un comando que suelo usar mucho en CakePHP para revisar el valor de una variable. En Drupal, hay comandos como dsm() pero, a veces, lo que requiero es algo tan simple como lo que hace pr(). Al no encontrar un comando igual de práctico, que funcionara tanto en los templates como en los módulos, y sin instalar ningún módulo extra, uso una solución rápida que consiste en colocar el siguiente código al final del archivo sites/default/settings.php: function pr($x, $return=TRUE, $set_message=TRUE) { $output = '<xmp>'; $output .= print_r($x, TRUE); $output .= '</xmp>'; if ($set_message) { drupal_set_message($output); } if ($return) { return $output; } else { echo $output; } } $return=TRUE permite asignar el valor de salida a una variable. $set_message permite mostrarlo con drupal_set_message.

Un año después

Imagen
HACE COMO un año empecé a aprender Drupal, animado por las cosas buenas que escuchaba de él. Como que fue elegido para el portal de la Casa Blanca. Luego me enteré que además era usado por El Comercio, los Grammys, MTV, y en los portales de muchos artistas famosos. Inspirado por esos ejemplos, empecé consultando algunos libros y tratando de hacer sites. Tal vez soy un poco cabeza dura. Tal vez me cuesta algunas cosas más que a la mayoría. Recuerdo que tarde meses en comprender MVC. Ya va siendo un año y recién empiezo a sentir atisbos de comprensión en Drupal. No es que no pueda hacer cosas con él. Puedo usarlo, configurarlo, definir tipos, hacer vistas, programar módulos, personalizar plantillas... pero el hecho de poder hacer algo no es lo mismo que comprenderlo. Me gusta Drupal. Es realmente muy interesante. Cuando trabajo con él, me siento asombrado de la comodidad con que permite hacer algunas cosas que normalmente son complicadas, como la administración del sitio y la col...

Hello SimpleTest

Imagen
Este es un ejemplo trivial donde uso  SimpleTest  para comprobar el módulo HelloWorld . Entorno Windows 7 Pro Drupal 6.19 XAMPP 1.7.1 para Windows Aptana Studio 2.0.4 Módulo  SimpleTest 6.x-2.10 Procedimiento Tengo creado el módulo HelloWorld: helloworld.info ; $Id$ name = Hello World description = Hello World simple module core = 6.x package = Hello helloworld.module <?php // $Id$ /**  * Implementation of hook_menu()  */ function helloworld_menu() {   $items = array();      $items['helloworld'] = array(     'title' => 'Hello World',     'page callback' => 'helloworld_page',     'access arguments' => array('access helloworld content'),     'type' => MENU_NORMAL_ITEM,   );      return $items; } /**  * Return content  */ function helloworld_page() {   $greeting = variable_get('helloworld_greeting', ' ...

Instalando SimpleTest

Imagen
SimpleTest es un módulo que permite usar unit testing (test unitarios) en la programación de Drupal. Entorno Windows 7 Pro Drupal 6.19 XAMPP 1.7.1 para Windows Aptana Studio 2.0.4 Ingredientes Módulo SimpleTest 6.x-2.10 Procedimiento drush dl simpletest Antes de activar el módulo, revisé el archivo INSTALL.txt. Allí, indican que el primer paso es aplicar el parche D6-core-simpletest.patch a Drupal core. Para aplicar el parche, uso Aptana Studio. Como el directorio del site aún no era un proyecto de Aptana, lo ubico en la pestaña File, click secundario, Promote to Project... Una vez que el site ya figura bajo Projects, en la misma pestaña File, click secundario, Team, Apply Patch... Luego indico aplicar modules/simpletest/D6-core-simpletest.patch en el site. Usando el administrador de Drupal, indico activar el módulo SimpleTest. Obtengo un mensaje que dice que no se puede activar el módulo porque el php no tiene la biblioteca curl (uno de los requisitos). Edito e...

Actualizando el Drupal Core con Drush

Imagen
Supongamos que mydrupal es un site drupal-6.17, cuyo core deseo actualizar a drupal-6.19. El paso cero , es hace un backup adecuado del site. Eso significa parquear la aplicación (Administer, Site configuration, Site maintenance, Site status: Off-line) , limpiar el caché (Administer, Site configuration, Performance, Clear cached data; ó drush cc all ) , hacer un backup del directorio mydrupal, y hacer un backup de la base de datos usada por mydrupal. Luego, damos el primer paso :-) La idea es sobrescribir mydrupal con el nuevo drupal y luego correr el script de actualización. Una forma es bajando drupal-6.19.tar.gz, descomprimiéndolo, y luego copiando o moviendo sus subdirectorios dentro de mydrupal. Hecho eso, ejecutar el script de actualización, por ejemplo entrando a http://localhost/mydrupal/update.php Pero, ¿cómo hacerlo con drush? . En la ayuda ví que hay una opción sup , pero no la llegué a entender, sorry. Pero encontré este post , donde usan un truco que sí ent...

Resolviendo Drupal multisite

Imagen
Aunque la instalación y configuración inicial de Drupal es relativamente sencilla y directa, configurarlo para que varios sites compartan el mismo motor fue, para mí, casi un dolor de cabeza... Continúe leyendo aquí .

Instalando Drupal en un directorio con alias

Imagen
Normalmente, los sites drupal que creo en mi XAMPP (1.7.1, bajo Windows 7) reconocen que pueden habilitar la opción de URL limpios. Sin embargo, no fue ese el caso cuando creé un site drupal en un directorio con alias. Cree el directorio con alias dropbox , indicando en el httpd.conf de apache la siguiente configuración: ... <IfModule alias_module>   ...   Alias /dropbox " C:/Users/Rulo/Documents/My Dropbox/htdocs "   ... </IfModule> <Directory " C:/Users/Rulo/Documents/My Dropbox/htdocs ">     Options Indexes FollowSymLinks Includes ExecCGI      AllowOverride All     Order allow,deny     Allow from all </Directory> ... De ese modo, puedo navegar por http://localhost /dropbox . Llevo usando Dropbox unas semanas y me gusta mucho cómo me permite manejar mis archivos. Configurando apache de esta forma en la casa y también en el trabajo, puedo continuar ...