Desplegables anidados usando Taxonomia en Drupal 7

Publicado el en la categoría Aplicaciones

Uno de los quebraderos de cabeza a los que nos hemos enfrentado en estos días ha sido el de conseguir que un segundo select (desplegable) nos muestre la información dependiendo de la opción elegida en el primer desplegable, utilizando en ambos desplegables dos Taxonomias distintas.

Esperábamos encontrar algún módulo que realizase ésta operación de manera un poco más automatizada, pero no ha sido así. En esta ocasión hemos utilizado el módulo Reference field option limit que aunque realiza su función, debido a la escasa documentación, hemos sufrido para dar con la solución. Así que vamos a mostraros como lo hemos hecho paso a paso. En nuestro ejemplo vamos a crear dos desplegables para seleccionar el país y la ciudad cuando un usuario quiere darse de alta en nuestro sitio.

  1. Lo primero será instalar y activar el módulo de la forma habitual.
  2. A continuación crearemos la Taxonomia para los paises. Accederemos a Estructura -> Taxonomia -> Agregar vocabulario Crearemos el vocabulario País y agregaremos los términos España y Francia.
  3. Crearemos ahora el vocabulario Ciudad. A continuación pulsaremos sobre Editar Vocabulario y pulsaremos la pestaña Gestionar Campos. Añadiremos un nuevo campo Término de referencia llamado País, tal como se muestra en la imagen.desplegable-taxonomia-drupal
  4. Guardaremos los cambios para el nuevo campo añadido, teniendo en cuenta de marcar la opción País, cuando se nos pregunte por el Vocabulario, y seleccionar Campo necesario. desplegable-taxonomia-drupal-2
  5. A continuación crearemos los valores que contendrá el vocabulario Ciudad. Deberemos indicar para cada ciudad su respectivo País.desplegable-taxonomia-drupal-3
  6. El siguiente paso es añadir los dos desplegables al formulario de registro de usuarios, aunque este proceso se puede realizar en cualquier formulario. Accederemos a Configuración -> Opciones de la cuenta y pulsaremos sobre la pestaña Gestionar Campos. Añadiremos un campo existente llamado País con la referencia a término field_pais, y marcando la opción Campo necesario.
  7. desplegable-taxonomia-drupal-4Añadiremos ahora el desplegable para las ciudades. Escribiremos Ciudad en Agregar nuevo campo, Referencia a término en Tipo de campo y Lista de selección en tipo de control. Como vocabulario marcaremos Ciudad y finalmente marcaremos la opción de Campo necesario y la de Limit this field’s options according to matching field values.desplegable-taxonomia-drupal-5

Al activar dicha casilla, nos aparecerán dos nuevas opciones, que son las que incorpora el módulo Reference field option limit. En la primera indicamos el vocabulario que queremos que utilice para filtrar el contenido del segundo desplegable. En este caso solo tenemos uno, así que lo seleccionaremos. En la segunda opción indicaremos al sistema que no se visualice ninguna opción en el segundo desplegable hasta que no se haya seleccionado una opción en el primer desplegable.

El formulario en cuestión con los dos desplegables anidados nos quedaría así:desplegable-taxonomia-drupal-6

Esperamos que os sirva.

Facebooktwittergoogle_plus