Pedro Lozano Drupal developer



Reply to comment

Posted by Pedro Lozano

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.

Reply

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • HTML tags will be transformed to conform to HTML standards.

More information about formatting options



Flickr

Rabbit

twitter

  • Amazon Micro Instances. Yeah!!! http://bit.ly/bMaEHc 19 hours 59 min ago
  • @JordiBufi El contrato se rompe. Pero las partes que no querían romper dicho contrato pueden pedir perjuicios a las que lo han hecho. 1 day 14 hours ago
  • @jacintocapote a los que? :-D 3 days 8 hours ago

Follow peterlozano on Twitter