Enero 18, 2013
kendall
A continuación presentare los pasos a seguir para crear un campo de tipo selección dentro de cualquier tipo de contenido o entidad (Taxonomía, Usuarios, Comentarios), donde los datos disponibles provengan del resultado de una vista.
- Requerimientos
En esta solución es mandatario instalar y habilitar el módulo Entity Reference.
- Definición del campo.
Se debe crear un nuevo campo de tipo selección, utilizando el control selección en lista como se muestra en la siguiente imagen.
En el modo de selección de entidad seleccionaremos “Views: Filter by an entity reference view” como se puede observar en la siguiente imagen.
Si ya existen vistas con el display Entity Refence, se podrá seleccionar para se usada, como se muestra en la siguiente imagen.
En caso contrario el sistema nos proporcionara enlaces para crear una nueva vista, en la cual debemos agregar un display Entity Reference, como se muestra a continuación.
Seleccionando la opción de crear una vista nueva para nuestro ejemplo, utilizare una lista simple de paginas básicas, la vista se creara como cualquier otra vista donde utilizare: los campos de título, fecha de creación y autor; Luego de crear nuestra vista agregaremos un display ”Entity Reference”, como se muestra en la siguiente imagen.
Los campos de título y fecha de creación son campos regulares, sin embargo, el campo del autor es un campo que necesita una relacion previa; por lo tanto se debe agregar una relación llamada: ”Content: Author”, lo cual hara disponible el campo User: Name. Para mas información acerca de como crear relaciónes en vistas se puede consultar el libro ”Recetarario Drupal: receta # 1“.
En la configuración del formato de la vista seleccionaremos “Entity Reference List” y en su configuración indicaremos que el campo a ser buscado sera el Título.
Para efectos de mejor la experiencias del usuario es mejor presentar la mayor información posible, es por esto que todos los campos son mostrados consecutivamente y por tanto es necesario definir el formato inline con un separador a gusto como puede ser el guión (-).
Como en cualquier otra vista es posible utilizar filtros, relaciones, argumentos y tipos de ordenamientos especificos bajo un critireo personal entre muchas otras opciones.
Para garantizar los resultados se recomienda agregar un filtro para que los nodos que aparezcan sean unicamente nodos creados por usuarios autenticados, afortunadamente la relación Content Author provee el filtro ”User: roles” que se puede configurar para que filtre los nodos usando la condición ”Has roles in addition to ‘authenticated user’“.
Regresando al punto de creación del campo de lista de selección por medio de ”Views: Filter by an entity reference view”, ahora aparecerá la opción de seleccionar la vista recientemente creada, este campo nos permite proveer a la vista argumentos tal y como los que se proveen a una vista regular por medio de la “URL” u otros métodos similares.
Por ultimo guardaremos la configuración y nos dirigiremos a un nodo del tipo de contenido al que se le agrego el campo para ver los resultados, los cuales serán todos aquellos nodos tipo “basic page” creados por un usuario autenticado, tal y como se especifico en la vista.