Drupal CCK + Vistas. Cambio de la apariencia de la galería del personal.
En la lección anterior, utilizando los módulos de Drupal Views y CCK, creamos una galería de empleados que se llena mediante la creación de contenido del tipo "Empleado". Al tipo de contenido Empleado le agregamos dos campos: Nombre completo (campo de texto) y Sobre el empleado (área de texto). Esta lección se ha creado para mostrar que los mismos datos pueden visualizarse de diferentes maneras a través de una Vista (View).
Actualmente, la galería de empleados se muestra de la siguiente manera:
Para mayor comodidad, añadí un enlace en el menú a la vista de empleados. Como ruta para la vista, utilice la propiedad path de la visualización "Página".
Método 1. Vamos a trabajar con la vista (View) de la galería de empleados: eliminaremos la descripción de cada empleado de la galería general y convertiremos el nombre completo en un enlace a la nodo del empleado.
Primero, es necesario eliminar el campo de descripción de la vista de la galería de empleados. Ingresamos a la lista de vistas (Estructura del sitio - Views) y seleccionamos la vista de nuestra galería, en mi caso es view_sotrudniki.
Es necesario hacer clic en el botón para modificar los campos y eliminar el campo de descripción del empleado. Después de eliminarlo, guardar los cambios. No tema eliminar algo de la visualización, al eliminar un campo de salida no elimina los datos.
Ahora, sin la descripción, la vista se verá así:
Ahora vamos a hacer que el nombre completo del empleado sea un enlace a la nodo de ese empleado. Ingresamos a la vista de empleados y seleccionamos el campo Nombre completo:
En la parte inferior aparecerán las configuraciones del campo Nombre completo, se debe seleccionar "Link this field to its node" (enlazar este campo a su nodo):
Guardamos el cambio, y no olvidamos guardar también la vista. Ahora el nombre completo es un enlace a la nodo del empleado:
Método 2. Haremos que el nombre completo enlace a la vista de la galería de empleados, pero pasaremos el número de nodo del empleado en la URL.
Usaremos el número del empleado para mostrar un bloque con su descripción justo debajo de la galería. Por ejemplo, si el número de nodo del empleado es 10, el enlace de su nombre completo será nombre_del_sitio/sotrudniki/10.
Vamos a la vista de nuestra galería y añadimos el campo Contenido: nid. nid es la abreviatura de node id, es decir, el número secuencial del nodo actual. Al agregar el nid, se debe indicar que no se muestre (Exclude from display).
El campo nid debe colocarse en la parte superior para que su valor esté disponible al construir el enlace del nombre completo.
Ahora accedemos a las configuraciones del campo Nombre completo y configuramos el enlace como sotrudniki/[nid].
Desmarcamos "Link this field to its node" y marcamos "Output this field as a link" (Mostrar este campo como enlace). En el valor del enlace usamos plantillas de entrada, concretamente [nid]; por eso elevamos el campo Contenido: nid. Escribimos sotrudniki/[nid]. Guardamos el campo y la vista.
Ahora es necesario crear un bloque donde se muestre la descripción del empleado. Lo llamaremos view_block_sotrudniki. En esta vista, añadiremos una visualización tipo bloque.
Añadimos los campos:
Contenido: Nombre completo
Contenido: Sobre el empleado
Filtros:
Contenido: Publicado - sí
Contenido: Tipo - empleado
Argumento:
Contenido: nid - en la configuración del argumento, debe indicarse lo siguiente:
"Provide default argument" - si no se proporciona un argumento, permite definirlo mediante una función como arg() u otra. La función arg() indica entre paréntesis el número del argumento en la URL (sotrudniki/[nid]), la numeración empieza en cero, así que seleccionamos el segundo argumento que es el número de nodo [nid]; el primer argumento es "sotrudniki".
Otros posibles valores para los argumentos:
Node ID from URL (ID del nodo desde la URL) - funciona cuando el primer argumento es "node" (por ejemplo, node/14);
Taxonomy Term ID from URL (ID de término de taxonomía) - funciona cuando el primer argumento es "term", el módulo Taxonomía lo veremos con más detalle en próximas lecciones;
User ID from URL (ID del usuario) - funciona cuando el primer argumento es "user";
Veremos estos argumentos en otras lecciones, por ahora introducimos el código PHP return arg(1);
Guardamos el argumento y la vista. Ahora debería aparecer el bloque view_block_sotrudniki: Bloque. El bloque se crea cada vez que en alguna vista se añade una visualización tipo bloque. Mostraremos el bloque view_block_sotrudniki: Bloque en la región de Contenido. En la configuración de visibilidad del bloque debe indicarse que se muestre solo en páginas con una URL que contenga la palabra sotrudniki (para que se invoque la primera vista con la galería de empleados) y después de esa palabra venga el número del nodo (/* - el asterisco tras la barra indica que se espera algún valor después de la barra).
Accedemos a la página nombre_del_sitio/sotrudniki, y ahora al hacer clic en el nombre completo del empleado aparecerán su nombre y descripción.