miércoles, 19 de septiembre de 2012

Bloques y argumentos

Problema:
Quiero que cuando se visualice  un nodo Articulo,  las imágenes que contiene ese nodo, se visualicen en un bloque en una de las regiones de la plantilla que utilizo.

Una solución:
  • Creo un bloque mediante una vista y selecciono los campos del tipo de contenido Articulo que quiero visualizar en el bloque.
  • Añado el Nid como contextual Filter
  • Activamos la opcion Provide default value, que le indica a Drupal que debe de hacer cuando se visualice el bloque y no haya ningún argmuento para el .Le decimos lo que debe de hacer mediante PHP, utilizando la funcion de Drupal menu_get_object que recibe como objeto por defecto el nodo que se esta visualizando, capturamos el Nid y lo retornamos como argumento.

  • Salvamos la vista y colocamos el bloque en la región correspondiente
Un inconveniente:
  1. Si activamos el nodo en una pagina sin un Nodo nos dará error  Notice: Trying to get property of non-object en eval() (liña 2....   por ese motivo debemos de asegurar que el bloque se visualice únicamente en los nodos correspondientes.
Saludos

martes, 24 de enero de 2012

Insertando un mapa en Drupal 7 con Openlayers

Por fin voy viendo la luz en este apasionante modulo. Openlayers nos permite añadir mapas de distintos proveedores a nuestra web. Los proveedores puede ser Google Maps, Virtual Earth, Yahoo Maps y OpenStreetMaps (OSM), este ultimo es un proyecto colaborativo para crear mapas libres y editables.

Al grano, empiezo explicando lo mas básico que es añadir un mapa con una localización en un tipo de contenido, mediante un campo del tipo GeoField.
Antes de nada debemos de habilitar los modulos necesarios que son:
  1. Geofield
  2. Libraries
  3. Openlayers (habilito Openlayers, Openlayers UI y Openlayers Views)
  4. GeoPHP es un extra, debemos de descargarlo a sites/all/libraries/geoPHP.
    • En la versión  7.x-2.0-beta7 no es necesario descargar esta libreria, por lo menos para las configuraciones básicas, es necesario y suficiente  el modulo geophp que tambien se integra con lal ibreria GeoPHP (23-01-2014)
  5. OpenLayers biblioteca de OpenLayers Javascript . Se descarga un tar.gz de openlayers.org y se descomprime en sites/all/libraries/openlayers

lunes, 23 de enero de 2012

Acciones y Triggers

Podemos crear acciones que respondan a eventos sobre los nodos, el sistema, los usuarios o las taxonomias.
Para poder configurarlos primeramente debemos de activar el modulo del core Trigger.
Por defecto, una vez habilitado el modulo, este tiene preconfiguradas una serie de disparadores o triggers. Para verlos hay que ir a Estructura->Disparadores.
Si queremos otras acciones que no nos viene configuradas las tendremos que configurar, para ello hay que dirigirse a Configuracion-> Acciones.
Por ejemplo, si queremos que los usarios al loguearse sean dirigidos a la pagina principal pues configuramos la accion Redirigir a la URL indicando a donde. Despues desde Disparadores crearemos un  DISPARADOR: DESPUÉS DE QUE UN USUARIO HAYA INICIADO SESIÓN   asociandole la acción del sistema Redirigir a una URL.