Alterar el comportamiento de Drupal usando cookies
Este es un pequeño truco que he empezado a usar recientemente: usar cookies para alterar el comportamiento de Drupal (para desarrollar o depurar) cuando se navega con una cuenta de usuario compartida que debe presentar un comportamiento distinto para otras personas.
Caso de uso. Varios desarrolladores están contruyendo un sitio y usan todos la cuenta de administración para las tareas de configuración. Pero uno de ellos quiere desactivar los alias de url porque necesita ver los ids de los nodos en las urls por motivos de depuración.
Se pude poner este código en el fichero settings.php:
function custom_url_rewrite_outbound(&$path, &$options, $original_path) { if ($_COOKIE['disable_url_aliases']) { $path = $original_path; } }
Ahora, usando una extensión de Firefox como Firecookie o Web Developer, puedes crear en tu navegador un cookie llamado disable_url_aliases, esto deshabilitará los alias de url solo para ti, el resto de los desarrolladores no lo notarán.
Otro caso de uso es querer usar un theme distinto.
/** * Implementation of hook_init(). */ function project_customizations_init() { global $custom_theme;if ($_COOKIE['custom_theme']) { $custom_theme = $_COOKIE['custom_theme']; } }
Para que este código funcione debes crear el cookie custom_theme y darle el valor del nombre del theme que quieres usar.
Aunque en los ejemplos hablo de usar la misma cuenta entre varias personas, también es util si varios desarrolladores quieren navegar como el usuario anonimo pero presentando comportamientos distintos.
Otras ideas de uso:
- Mostrar información de depuración cuando se navega como anónimo.
- Evitar analytics cuando se navega como anónimo.
- Usar un idioma distinto.
- Desabilitar la caché. Combinado con el profiler de xdebug permite hacer análisis del rendimiento de la generación de página para usuarios anónimos, manteniendo activada la caché para el resto de usuarios.
Seguro que se te ocurren otros usos, puedes postearlos en los comentarios.