jueves, 17 de noviembre de 2011

Panels y rules

Si queremos controlar la visibilidad de un campo determinado en una pagina hecha con panels lo podemos hacer fácilmente añadiendo una Rules al campo elegido. 



 Pasos:


  • Añadimos una nueva Rule desde el panel de control de la Panels->pagina



  • Entre las opciones que se nos presentan elegimos PHP CODE
  • El codigo que tenemos que escribir tiene que devolver un valor TRUE o FALSE en funcion del valor de la variable que queremos ocultar. La clave es saber como acceder al valor de la variable desde aqui utilizando el objeto $contexts. Para ello lo mejor es visualizar por pantalla el valor completo de ese objeto. Escribimos la funcion de Drupal :

drupal_set_message('<pre>' . print_r($contexts, true) . '</pre>');

 
Grabamos la rule y vamos a visualizar la pagina, nos saldrá el valor completo del objeto $context. Buscamos el "value" de nuestro campo y volvemos a editar la rule.
  • En mi caso tengo un campo del tipo Boolean, a este campo le llamo field_fide. Pues desde la Rule escribo el siguiente codigo 

return $contexts['argument_entity_id:node_1']->data->field_fide['und'][0]['value'];

Grabamos y el campo aparecerá en la pagina cuando field_fide = TRUE

No hay comentarios:

Publicar un comentario