Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Drupal PDF
Drupal PDF
• En el servidor de
explotación es
conveniente que el email
utilice el mismo dominio
que el servidor web.
• Usuario: admin
• Contraseña: drupal
• Verificar actualizaciones
automáticamente
(privacidad)
Instalación de Drupal:
Fin de la instalación
Instalación de Drupal:
Resumen
1. Instalar WAMP y configurar el php.ini con 120 segundos en
max_execution_time.
2. Con phpMyAdmin, crear una base de datos y un usuario con
todos los privilegios sobre ella.
3. Crear una subcarpeta para Drupal (llamada drupal) dentro de
la carpeta /wamp/www y copiar en ella los archivos
descomprimidos de Drupal.
4. Duplicar el archivo /sites/default/default.settings.php en la
misma carpeta pero con el nombre settings.php.
5. Iniciar la instalación de Drupal accediendo con el navegador
web a la dirección localhost/drupal.
6. Descargar el archivo po de la traducción a español y copiarlo
en la carpeta profiles/standard/translations.
7. Continuar la instalación y recordar el nombre de usuario y la
contraseña asignada al usuario administrador.
Barra de herramientas/Toolbar
• La barra de herramientas ocupa la zona superior cuando estamos
acreditados y sus opciones son:
– Home: Página de inicio
– Panel de control: Es una página resumen que podemos configurar a nuestro
gusto para que nos muestre, por ejemplo, los últimos contenidos o comentarios,
quién está actualmente visitando nuestro sitio, …
– Contenido: Creación de nodos
– Estructura: Bloques, menús, taxonomía y CCK
– Apariencia: Control de temas
– Personas: Gestión de usuarios, roles y permisos
– Módulos: Activación, configuración y actualización de módulos.
– Configuración: Información del sitio, URL limpias, Idiomas, …
– Informes: Estado, actualizaciones, errores, …
– Bienvenido xxx
– Cerrar sesión
Solapa de atajos
• Es la barra que hay debajo de la de herramientas, y
nos ofrece enlaces para acceder rápidamente a las
páginas que mas usemos.
• Los enlaces que contiene son modificables e incluso
podemos configurar distintos conjuntos de enlaces
para mostrarlos en distintas situaciones.
Panel de control/Dashboard
• Es una página que podemos configurar a nuestro
gusto para obtener de un vistazo la información que
más nos interese (último contenidos añadidos al sitio,
últimos comentarios, qué usuarios están actualmente
visitando el sitio, …)
Reasignar una contaseña al
administrador I
• Si, por cualquier motivo no recordamos la contraseña del
administrador y no podemos recuperarla mediante la opción
Solicitar una nueva contraseña del bloque Inicio de sesión
(por ejemplo, hemos utilizado una dirección falsa para el
administrador), tendremos que acudir a phpMyAdmin para
editar la tabla users e introducir en el campo pass el hash de
la nueva contraseña que deseemos asignar al administrador.
• Drupal 7 utiliza un algoritmo de hashing basado en SHA512,
aderezado con técnicas de salting y stretching, y que
finalmente se codifica en base64 y se precede con el
identificador $S$.
Reasignar una contaseña al
administrador II
1. Crear un duplicado del archivo index.php de Drupal 7
llamado password.php.
2. Añadir las líneas que se muestran en negrita a continuación:
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
require_once 'includes/password.inc';
echo user_hash_password('juanfe');
die();
menu_execute_active_handler();
3. Acceder con el navegador al archivo password.php y copiar
el hash del nuevo password.
4. Mediante phpMyAdmin, pegar en el campo pass del usuario
1 el password copiado anteriormente.
5. Borrar el archivo password.php.
Dirección temporalmente bloqueada
tras 5 intentos de acreditación fallidos
• Si introducimos incorrectamente nuestra
acreditación más de 5 veces, Drupal
impedirá nuevos intentos durante un
periodo de tiempo para evitar ataques por la
fuerza.
• Si queremos saltarnos esta demora,
tendremos que acceder a la base de datos
con phpMyAdmin a la base de datos, y
borrar de la tabla flood todas las entradas
relacionadas con nuestra direción IP.
Activar las URLs limpias
• El uso de URLs limpias favorece que nuestro sitio sea
correctamente indexado por los buscadores como Google.
• Activar el módulo rewrite_module de Apache mediante
W>Apache>Apache modules>rewrite_module para que
aparezca una marca de verificación a su izquierda.
• Seleccionar Configuración>URL limpias>Activar URL
limpias.
Crear un contenido para la página
inicial
1. Seleccionar Agregar contenido.
2. Elegir el tipo de contenido Página básica.
3. Título: Bienvenido a mi sitio Drupal 7.
4. Editar resumen.
5. Resumen: Hoy he aprendido a instalar Drupal 7.
6. Cuerpo: Es más fácil de lo que esperaba.
7. Opciones de comentarios:
• Cerrada.
8. Opciones de publicación:
• Publicado
• Colocado en la página principal
Traducir el enlace « Read more »
1. Seleccionar Configuración>Traducir
interfaz>Traducir.
2. Escribir Read more (la R en mayúscula) en El
texto contiene y pulsar el boton Filtrar.
3. Pulsar editar en la entrada Read more.
4. Escribir lo siguiente en Español:
Leer más<span class="element-invisible"> sobre
@title</span>
5. Pulsar Guardar las traducciones.
Configurar un tema
• Los temas
determinan el
aspecto de nuestro
sitio.
• Podemos tener un
tema
predeterminado
para el sitio, y otro
predeterminado
para las tareas de
administración.
• Pulsar el botón
Opciones del tema
Bartik para
configurarlo.
Instalar un tema nuevo
1. El mejor sitio para
obtener temas con
seguridad es drupal.org.
2. Descargar el tema
marinelli comprimido.
3. Instalarlo mediante
Apariencia.
4. Activarlo y convertirlo
en predeterminado.
5. Pulsar el botón
Opciones del nuevo
tema.
6. Cerrar la sesión para ver
el nuevo aspecto de
nuestro sitio.
Módulos:
Activación/Desactivación
• Los módulos son fragmentos de
código que añaden funcionalidad
adicional a Drupal.
• Existen módulos del núcleo, que se
distribuyen junto con Drupal, y
módulos contribuidos que podemos
instalar de forma separada.
• Es frecuente que los módulos de
Drupal estén concebidos para permitir
que unos puedan interactuar con
otros; por ejemplo, un módulo de
galería de imágenes y otro de
comentarios pueden cooperar para
que los visitantes tengan la opción de
comentar las fotografías de la galería.
• Barra de herramientas>Módulos
Módulos:
Módulos esenciales (obligatorios) del núcleo
• Block
• Field/Field SQL storage
• File
• Options
• Text
• Filter: Formatos de introducción de texto
• Node
• System
• User
Módulos:
Los principales módulos del núcleo
• Blog: Enviar contenidos fácilmente; un blog para cada usuario
• Comment: Comentar contenidos
• Contact: Formulario de contacto
• Forum: Un foro básico
• Menu: Controla el sistema de navegación por menús
• Path: Permite crear alias más amigables para los URL
• Poll: Encuestas
• Taxonomy: Clasificar los contenidos mediante etiquetas
• Update manager: Saber si existen versiones nuevas
Módulos:
Algunos módulos contribuidos populares
• Views: Sirve para configurar los listados de contenidos.
• Token: Permite personalizar los contenidos con marcadores de posición como
%site-name
• CCK: Content Construction Kit
• Pathauto: Crea automáticamente alias amigables para los URL
• Administration Menu
• Date: Añadir campos de tipo fecha a los nodos.
• IMCE: Gestor de descargas
• WYSIWYG: Permite utilizar distintos editores para crear los contenidos.
• Webform: Permite crear nodos de tipo formulario.
• CKeditor: Un editor WYSIWYG muy completo
• Fivestar: Módulo de votaciones
• Panels: Editor visual para crear distribuciones de contenidos adaptadas a cada
usuario
• Backup and migrate: Copia de seguridad y migración de sitios Drupal
• Ubercart: Comercio electrónico
Usuarios: Roles y Permisos
• Personas: Inicialmente Drupal tiene un único usuario, el usuario 1, o
administrador. Este usuario es especial, porque tiene poder absoluto sobre
el sitio (lo puede todo, incluso estropear el sitio).
• Personas>Permisos>Roles: Inicialmente Drupal tiene tres roles:
• Usuario anónimo
• Usuario autenticado
• administrador
• Personas>Permisos>Permisos: Drupal nos permite configurar los permisos
de cada rol para cada módulo.
• Cada usuario puede tener asignado uno o más roles; cada rol posee una
configuración específica de permisos sobre los módulos;
consecuentemente, los roles de un usuario determinan qué permisos tiene
en el sistema.
• Por defecto, los permisos determinan qué se puede hacer, pero no qué se
puede ver. Para controlar qué puede ver cada rol necesitaremos recurrir a
un módulo contribuido, como Content Access.
Contenidos: Tipos de nodos y nodos
• Los tipos de nodos son los tipos de datos que "comprende" Drupal: Artículos,
encuestas, temas del foro, …
• Estructura>Tipos de contenido: Inicialmente Drupal incluye sólo 2 tipos de nodos:
• Artículo/: Optimizado para publicar noticias mostrando los datos del autor, la fecha de
creación, admiten comentarios e imágenes, y se muestran en la página principal.
• Página/Page: Ideal para contenidos estáticos.
• Los tipos de nodos se crean mediante Estructura>Tipos de contenido>Añadir tipo
de contenido
• Los nodos poseen:
• Campos: Determinan las propiedades del nodo, como título, cuerpo, autor, …
• Opciones de funcionamiento básicas: Determinan cómo son tratados los nodos por
Drupal; por ejemplo, si se publican automáticamente, o si se muestran en la página
principal
• Opciones de funcionamiento añadidas: Ciertos módulos pueden añadir posibilidades
adicionales a los nodos, como la capacidad de recibir comentarios.
• Presentaciones: Un nodo puede mostrarse de distintas formas, como resumido,
completo, en formato RSS o en formato de impresión.
• Los nodos se crean mediante Contenido.
Contenidos: Creación de nodos
• Título
• Opciones de menú
• Cuerpo/Resumen
• Filtrado
• Revisiones
• Comentarios (*)
• Autoría
• Publicación (*)
(*) Estas opciones pueden configurarse de forma predeterminada en el tipo de nodo, pero siempre prevalecen las
establecidas en el propio nodo y, consecuentemente, al cambiar las opciones del tipo de nodo no se alteran
automáticamente las de los nodos que ya teníamos previamente.
Contenidos: Entendiendo el resumen
• Si especificamos un texto para el resumen, ese
texto se mostrará sólo en la presentación
resumida del nodo, pero no en la completa.
• Si dejamos el resumen vacío y permitimos que
sea generado automáticamente por Drupal, el
texto escogido para el resumen se mostrará
tanto en la presentación resumida como en la
completa. Esto suele ser los más aconsejable.
• La longitud del resumen se configura mediante
Estructura>Tipos de contenidos>Gestionar
presentación>Resumen>Recortar longitud.
Contenidos: Formatos de
texto/Filtrado
• El contenido de los nodos se almacena en lenguaje HTML, pero existen
elementos de HTML potencialmente peligrosos que podrían dañar nuestro
sitio o hurtar datos de las personas que lo visitan.
• Para evitarlo, Drupal aplica un Formato de texto, que es un conjunto de
filtros que básicamente eliminan los elementos HTML potencialmente
peligrosos (aunque existen filtros como SpamSpan con otras misiones).
• Se configuran a través de Configuración>Formatos de texto.
• Cada Formato puede configurarse para que esté diponible para ciertos roles.
• Inicialmente Drupal dispone de 3 Formatos:
• Plain Text: Es el más restrictivo, no admite ningún elemento HTML y está a
disposición forzosamente de todos los roles.
• Filtered HTML: Sólo admite los elementos HTML <a> <em> <strong> <cite>
<blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
• Full HTML: Admite cualquier elemento HTML pero sólo está a disposición del
rol Administrator.
Contenidos: Acceso
• Básicamente, cada página de un sitio Drupal
muestra un único nodo o un listado de nodos
en su zona principal
• Cada nodo es accesible a través de un URL del
tipo /node/1
• Por defecto, todos los contenidos son visibles
para todos los usuarios; tendremos que
recurrir a módulos contribuidos para
configurar qué usuarios pueden ver qué
contenidos.
Contenidos: Navegación/menús
• Para facilitar la navegación por los contenidos podemos utilizar menús.
Inicialmente Drupal incluye 4 menús:
• Management
• Menú principal
• Navegación
• User menu
• Los menús se gestionan mediante Estructura>Menús.
• Cada menú está asociado a un bloque, que podemos asignar a la región del
tema que prefiramos.
• Los temas incluyen dos pseudo-bloques (su visualización se controla a través de
la configuración del tema) que podemos vincular a menús, llamados Enlaces
principales/Menú principal y Enlaces secundarios/Menú secundario. Estos
bloques están inicialmente vinculados al Menú principal y Menú de usuario,
respectivamente, pero esta vinculación puede modificarse mediante
Estructura>Menús>Opciones.
Contenidos: Menús predeterminados
Bloques, regiones y temas
• Estructura>Bloques: Cada página de un sitio Drupal, además de un nodo o
listado de nodos, puede mostrar fragmentos de información adicional
denominados bloques.
• Los bloques pueden mostrarse en diferentes zonas de la página, que se
denominan regiones y que tienen "nombres propios".
• Los bloques pueden mostrarse en sólo algunas páginas, y/o sólo a los usuarios
de ciertos roles, y/o sólo en las páginas que muestren contenidos de un tipo
concreto (páginas, artículos, …). Importante: por defecto los bloques son lo
único cuya visibilidad podemos configurar en función de los roles.
• La visualización de los menús depende de su bloque asociado. Al crear un menú
se crea automáticamente un bloque, aunque inicialmente está desactivado.
• Apariencia>Temas: Las regiones posibles, sus posiciones, nombres y demás
características están determinadas por el tema asignado al sitio.
¿Cómo se llaman las regiones en cada
tema?
• Para descubrir el nombre de las regiones en el tema
activo seleccionaremos
Estructura>Bloques>Demostrar regiones de bloques.
Algunos bloques incluidos en Drupal
• Comentarios recientes
• Contenido reciente
• Quién está conectado
• Usuarios nuevos
• Sindicar
Resumen de nomenclatura
• Módulos
• Del núcleo
• Esenciales
• Contribuidos
• Contenidos
• Tipos de nodos
• Campos
• Presentaciones
• Nodos
• Usuarios
• Roles
• Permisos
• Menús
• Temas
• Bloques
• Regiones
• Formatos de texto (Configuración)
Ejercicio:
Crear un nodo y asignarle un acceso mediante menú
• Crear un nodo de tipo página básica con las siguientes características:
• Título: Bienvenido al sitio web de Juanfe
• Cuerpo: Este sitio está aún en <b>construcción</b>. Puedes contactar con el
administrador en administrador@juanfe.es
• Formato de entrada: Filtered HTML
• Opciones de menú:
• Proporcionar un enlace de menú
• Título del enlace del menú: Inicio alternativo
• Elemento padre: Menú principal
• Opciones de publicación
• Publicado
• Colocar en la página principal
Hola [current-user:name]:
Gracias por enviar el comentario siguiente:
[comment:body]
para el artículo [comment:node:title] de
[comment:node:author] el día: [current-date:long]
El módulo Path
• Como ya sabemos, todos los nodos de Drupal son accesibles
añadiendo al URL de nuestro sitio /node/x (donde x es el
número del nodo al que queremos acceder).
• Sin embargo, este método no es muy descriptivo, y tampoco
favorece la catalogación de los buscadores como Google.
• El módulo del núcleo Path, nos permite asignar un nombre
concreto a cada nodo a través de la opción Opciones de ruta
URL que aparece en la página de creación/edición de los nodos
al activar este módulo.
• Esta ruta es lo que tendremos que escribir en lugar de node/x
para acceder a él (no anula la forma node/x).
• Estas rutas alternativas se denominan alias.
Ejercicio: El módulo Path
• Activar el módulo Path si no lo estuviera ya.
• Crear un nodo con ciertos datos personales y
asignarle la ruta de acceso curriculum.
• Comprobar que este nodo es accesibe a través del
URL: www.dirección_de_nuestro_sitio/curriculum
El módulo Pathauto I
• El módulo Path tiene 2 inconvenientes:
• Es tedioso tener que indicar los alias manualmente
• Puede producir inconsistencia en los alias. Por ejemplo, un usuario
puede utilizar un patrón distintos a las normas generales.
• Afortunadamente podemos evitar esos inconvenientes gracias
al módulo contribuido Pathauto. Este módulo crea
automáticamente alias para los nodos (node/x), usuarios
(user/x), términos de taxonomía (taxonomy/term/x), blogs
(blog/x) y es compatible también con módulos que añaden
otros tipos de nodos).
• Lo interesante de Pathauto es que puede servirse del módulo
Token para introducir en los alias información referente al
propio contenido, como el nombre del usuario, o el título del
artículo.
El módulo Pathauto II
• Tras instalar Pathauto es recomendable retirar a los usuarios
que lo tuvieran el permiso de crear alias (es mejor que todos
sean automáticos para que se ajusten al mismo criterio).
• Las opciones de Pathauto se configuran a través de
Configuración>Búsqueda y metadatos>Alias de URL.
• En Opciones de alias de rutas automáticas se configura el
aspecto que tendrán los alias que generará Pathauto
automáticamente a partir de su activación… y qué hacer con
los alias ya existentes (borrarlos, mantenerlos, crear uno
alternativo, …)
• Pero si también queremos aplicar este patrón de alias a los
contenidos previos a la instalación de Pathauto (¡ojo!, sólo a
los que no tuviesen ya un alias creado con Path) tendremos
que utilizar Bulk update…
El módulo Pathauto III
• La actualización de un contenido puede provocar que
su patrón de alias varíe, y la opción Opciones
generales>Acción al actualizar nos permite elegir
entre:
•No hacer nada. Dejar intacto el alias anterior.
•Crear alias nuevo. Dejando el alias anterior operativo.
•Crear alias nuevo. Borrando el alias anterior.
•Instalar el módulo Redirect. Redirigir desde el alias anterior.
Ésta es la opción más favorable (para evitar que haya dos
URL que conduzcan a la misma página y podamos ser
penalizados por la arañas de los buscadores).
Ejercicio: El módulo Pathauto
• Instalar y activar los módulos Pathauto y Redirect.
• Comprobar que ningún rol tiene permisos para los módulos
(de este modo sólo el administrador puede configurar los alias
y se asegura la consistencia):
• Path
• Redirect (antiguo Path redirect)
• Pathauto
• Explorar los Patterns (patrón) de alias de rutas automáticos:
• Observar que, en el caso de los nodos, los patrones de reemplazo nos
permiten utilizar, por ejemplo, fechas. De modo que podríamos
clasificar los nodos por años; por ejemplo: content/[current-
date:custom:Y]/[node:title]
• Realizar una generación de alias en masa para actualizar todo el sitio.
WebForm I
• El módulo contribuido WebForm nos permite crear nodos que sean, en realidad,
formularios.
• Los usuarios podrán rellenar estos formularios, y los datos que introduzcan se
almacenarán en el sistema y, opcionalmente, se enviarán por correo a la dirección
que configuremos.
• El acceso a los formularios puede limitarse:
• Por roles
• Por número de veces
• Los campos de los formularios se denominan componentes y pueden ser de varios
tipos:
• archivo
• date
• email
• hidden
• select
• textarea
• …
WebForm II
• Los resultados de los formularios pueden descargarse también
en formato Excel.
• El procedimiento general para crear un formulario es:
1. Administración de contenido>Webforms
• Aquí configuramos el título del formulario.
2. Añadir los componentes (campos) necesario y configurarlos.
• Podemos indicar qué campos serán obligatorios.
3. Configurar los correos electrónicos. Se puede utilizar el contenido de
algún campo como detalle del email (remitente o asunto).
4. En Form Settings se puede configurar qué roles tienen acceso al
formulario y cuántas veces lo pueden enviar.
• En Opciones avanzadas podemos configurar que el formulario esté
disponible como un bloque y que permita guardarlo para completarlo
más tarde (draft).
5. Analizar los resultados.
Ejercicio I: WebForm
• Crear un formulario que:
• Sea accesible a través del menú Navegación mediante un item
llamado Examen.
• Sea accesible para los usuarios de un rol determinado (por ejemplo
alumnos).
• Contenga un campo oculto en el que se almacene el nombre del
usuario (%username).
• Contenga varios campos de selección, de modo que en cada uno de
ellos se ponga un término en español y se pregunte su traducción al
inglés.
• Configurar todos los campos para que se envíen por email, y el
formulario para que sólo se pueda enviar una vez.
• Permitir la opción de guardar el borrador del formulario (draft).
• Descargar los resultados con formato Excel.
WebForm III
• Con WebForm se pueden crear formularios
multipágina (insertando componentes pagebreak).
• Además, mediante Conditional rules, podemos hacer
que los controles de unas páginas se muestren o no
en función de los valores elegidos en las páginas
anteriores.
Ejercicio II: WebForm
• Crear un formulario compuesto por dos páginas de
modo que:
• En la primera haya que elegir entre ciencias o letras.
• En la segunda haya que elegir entre asignaturas de
ciencias o letras dependiendo de la opción elegida en la
página anterior.
Registration code I
• Este módulo contribuído sólo permitirá registrarse en nuestro
sitio Drupal a los usuarios que dispongan de un código de
registro.
• Estos códigos de registro pueden generarse con el propio
módulo, que permite limitar cuántas veces es válido cada
código de registro, es decir, cuántos registros de usuario
pueden realizarse con cada código.
• Registration code permite generar fácilmente códigos a granel
y gestionarlos, pues se apoya en el módulo taxonomía para
asignar términos a los códigos, y en el módulo Views Bulk
Operations para realizar operaciones en conjunto sobre ellos.
La versión de Views Bulk Operations (VBO) dependerá de la
versión de Views:
• Views 6.x-2.x utiliza VBO 6.x-1.x
• Views 6.3-3.x utiliza VBO 6.x-3.x
Registration code II
• Registration Code crea automáticamente un vocabulario de taxonomía
llamado Registration codes, pero sin términos. Es aconsejable crear los
términos antes de empezar a generar códigos de registro (por ejemplo,
podríamos crear términos como ESO, Bachillerato, Primero, Segundo, …).
Si lo deseásemos, también podríamos elegir cualquiera de los vocabularios
ya existentes mediante Opciones de Registration code.
• Para crear los códigos acudiremos a Administración de
usuario>Registration code>Crear. Este formulario nos permite crear
códigos en masa sin más que indicar un prefijo en Registration code e
indicar cuántos códigos necesitamos en Number of codes to generate.
• El formato de las fechas Active from y Expires on puede ser, entre otros,
AAAA/MM/DD.
• Los códigos pueden estar compuestos sólo por letras, sólo por números,
por letras y números, o ser números hexadecimales.
Registration code III
• Los códigos pueden gestionarse a nivel individual mediante
Lista (activarlos, desactivarlos, borrarlos, …).
• Los códigos se gestionan a nivel global mediante Manage.
• El módulo Registration code viene acompañado de otros de
interés:
• Code mailer: Permite enviar lotes de códigos a direcciones de email
utilizando el comodín [regcode].
• Dynamic code support: Cuidado con este módulo porque permite al
usuario crear códigos que cumplan un cierto patrón (por defecto,
cualquier número mayor que 1000000000 a incrementos de 7).
Mejor desactivarlo.
• Role assigment: Permite asignar un rol concreto en función del
término de taxonomía que tenga asignado cada código de registro.
Ejercicio: Registration code
• Instalar Views Bulk Operation.
• Instalar Registration code, Code mailer y Role assigment.
• Añadir los términos ESO y Bachillerato al vocabulario
Registration code.
• Generar un lote de 10 códigos de registro con cada uno de los
términos anteriores.
• Configurar los códigos de uno y otro término para que
adquieran roles diferentes en Drupal.
• Enviar varios de estos códigos por email (utilizando [regcode]).
• Comprobar que efectivamente los códigos permiten
registrarse.
Contactos
• El formulario de contacto sirve para que los usuarios puedan contactar con
nosotros a través de correo electrónico pero sin desvelar nuestras direcciones.
• Los formularios de contacto están controlados por el módulo Contact.
• Drupal nos permite crear distintas categorías (información del producto,
información general, …) de formularios de contacto. Estructura>Formulario de
contacto
• En las opciones podemos configurar:
• El número máximo de mensajes que puede enviar un usuario por hora (sólo Drupal 6).
• Si queremos que se muestre un formulario de contacto para cada usuario en su perfil.
Configuración>Personas>Opciones de la cuenta
• Al activar este módulo se crea automáticamente el ítem de menú correspondiente
en el menú Navegación, pero está inicialmente desactivado.
• También tenemos que configurar los permisos del módulo Contact para definir
quién (qué roles) puede acceder a estos formularios.
• Adicionalmente, cada usuario puede configurar en su página de perfil si quiere o no
mostrar su formulario de contacto.
CCK: Content Creation Kit
• Fields: Tipos de datos
• Integer
• Decimal
• Float
• Text
• Node reference: Referencia a un nodo
• User reference: Referencia a un usuario
• Widgets: Presentación para introducir el tipo de dato
• Text field
• Text area
• Check box
• Radio buttons
• Select list
• Autocomplete text field
• Formatters: Presentación de los datos. Permite definir qué campos se
mostrarán en el modo resumido y en el modo extendido del nodo.
Instalar CCK
• Descargar el módulo CCK filtrando las categorías de módulos de drupal.org
por compatibilidad con la versión 6.0 y por proyecto Content. La versión
disponible actualmente es CCK 6.x-2.6.
• Aprovechar también para descargar el módulo FileFiled, que se encuentra
en la versión 6.x-3.2.
• Descomprimirlos y copiar las carpetas resultante cck y filefield en la
carpeta sites/all/modules.
• Acceder a Administrar>Construcción del sitio>Módulos y activar los
siguientes módulos:
• Content
• FileField
• Node Reference
• Number
• Option widget
• Text
• User reference
Ejercicio: El tipo de nodo taller
• Crear un tipo de nodo llamado taller.
• Configurar en él los siguientes campos:
•Taller (*Título)
•Descripción (*Cuerpo)
•Departamento: Text – Select list
•Responsable: User reference – Select list
•Precio: Decimal – Text field
• Usar la opción Display fields para que las etiquetas
aparezcan junto a los datos en lugar de sobre ellos.
Ejercicio: El tipo de nodo inscripción
• Crear un tipo de nodo llamado inscripción.
• Configurar en él los siguientes campos:
•Nombre (*Título)
•Observaciones (*Cuerpo)
•Taller: Node reference – Select list
•Copia DNI: archivo – File upload (que se guarden en
files/dni)
• Usar la opción Display fields para que las etiquetas
aparezcan junto a los datos en lugar de sobre ellos.
Instalar Advanced Help
• Descargar el módulo Advanced Help filtrando las categorías de
módulos de drupal.org por compatibilidad con la versión 6.0 y
por proyecto Utility. La versión disponible actualmente es CCK
6.x-1.2.
• Descomprimirlos y copiar la carpeta resultante advanced_help
en la carpeta sites/all/modules.
• Acceder a Administrar>Construcción del sitio>Módulos y
activar el módulo Advanced Help.
• Comprobar cómo aparecen nuevas opciones de ayuda en las
páginas relacionadas con CCK.
Views I
• Hasta ahora con Drupal hemos podido mostrar:
• Nodos concretos (/node/#)
• Listados de nodos que comparten un término de taxonomía
(/taxonomy/term/#)
• El perfil de un usuario (/user/#)
• Las entradas del blog de un usuario (/blog/#)
• Pero ¿y si quisiéramos mostrar algo diferente? Por ejemplo, un
bloque en el que apareciesen los últimos contenidos enviados
por el usuario que actualmente está viendo nuestro sitio.
• En este caso tendríamos que recurrir al módulo Views, que sin lugar a dudas, es
el mayor responsable de que Drupal sea considerado uno de los CMS más
flexibles.
Views II
• Una vista es una configuración en la que elegimos mostrar un tipo de
información:
• Nodos
• Comentarios
• Usuarios
• Archivos
• Términos de taxonomía
• Con un Formato determinado
• Grid (cuadrícula)
• HTML list
• Jump Menu (cuadro de lista desplegable)
• Tabla
• Unformated list
• Eligiendo qué campos queremos mostrar de cada elementos
• Filtrándolos por distintos criterios
• Y ordenándolos con los criterios que queramos.
Views III
• Una vez establecida la configuración general de la vista
(Master), podemos crear diferentes displays a partir de ella,
que son los que realmente podremos mostrar en nuestro sitio,
y que pueden ser de los siguientes tipos:
• Página
• Bloque
• Adjunto
• Feed
• Contexto
• Panel
Instalar Views
• Antes de instalar el módulo Views, que actualmente
es el más instalado en Drupal 7, es necesario instalar
el módulo Chaos Toolsuite, y muy recomendable
instalar el módulo Advanced Help.
Ejercicio: Crear una vista que liste los
contenidos de la última semana I
• Crear la vista:
• Estructura>Views>Add new view
• View name: articulos_recientes
• Mostrar: Contenido
• Desactivar Create a page y Create a block (inicialmente configuramos la vista y luego ya
decidiremos qué displays queremos)
• Formato:
• Formato: HTML list
• Mostrar: Campos
• Campos
• Título
• Agregar
• Contenido: Post date
• Sin etiqueta
• Excluido de la visualización
• Formato personalizado: j \d\e F \d\e Y
• Comprobar que se puede cambiar el orden de presentación de los campos
• Formato: Modificar las opciones de HTML list para agrupar el listado por Contenido: Post date
• Filtros
• Añadir un filtro sobre Post date para que sólo se muestren los nodos de la última semana (is greater
than -7 day)
• Ordenación
• Mantener el criterio descendente sobre Contenido: Post date, pero configurándolo con una
granularidad diaria y luego con una granularidad horaria y explicar las diferencias.
Ejercicio: Crear una vista que liste los
contenidos de la última semana II
• Observar que el módulo Views nos permite controlar el acceso por
permiso, además de por rol (que es lo único que permiten los bloques por
defecto)
• Modificar el Pager para que sólo muestre 4 elementos por página.
• Guardar la vista
• Añadir un display de tipo Bloque y asignarle el nombre “Contenidos de la
semana”
• Asignar el bloque a una región de la plantilla y configurar su título como
“Contenido de la semana”. Obsérvese la diferencia entre nombre (paso
anterior) y título del bloque.
Ejercicio: Crear una página que liste los
usuarios agrupándolos por roles I
• Crear la vista:
•Construcción del sitio>Views>Add
• View name: lista_de_usuarios
• View tag: usuarios
• View type: Usuario
• Elegir el tipo de display:
•Seleccionar la opción Página y pulsar Add display.
• Ruta: lista_de_usuarios
• Menu: Normal menu entry
• Título: Lista de usuarios
Ejercicio: Crear una página que liste los
usuarios agrupándolos por roles I
• Crear la vista:
•Estructura>Views>Add new view
• View name: lista_de_usuarios
• Mostrar: usuarios
• Activar Create a page:
•Ruta: lista-de-usuarios
• Menu: Normal menu entry
• Create a menu link
• Menu: Menú principal
• Link text: Lista de usuarios
Ejercicio: Crear una vista que liste los
usuarios agrupándolos por roles II
• Campos/Fields:
• Usuario: Created date
• Usuario: Candel link
• Usuario: Edit link
• Usuario: Imagen
• Usuario: Nombre
• Usuario: Último acceso
• Configurar la etiqueta de los campos, respectivamente, del siguiente modo:
• Fecha de registro
• Operaciones
• Editar perfil
• Imagen
• Nombre
• Último acceso
• Establecer el siguiente orden para los campos:
• Nombre
• Fecha de creación
• Imagen
• Último acceso
• Editar
• Operaciones
• Asignar al campo Nombre la etiqueta Nombre
Ejercicio: Crear una vista que liste los
usuarios agrupándolos por roles III
• Formato:
• Tabla.
• Configurar la tabla del siguiente modo:
• En la columna Column del field (campo) Editar seleccionar Operaciones
• En la columna Separator del field Operaciones escribir espacio|espacio
• Activar todas las casillas Sortable
• Elegir Nombre como Default sort
• Update default settings
• Filtros:
• Mantener el filtro que usa como criterio que el usuario esté activo.
• Contextual filters/Argumentos:
• Agregar un filtro contextual que use como criterio Usuario: Roles
• When the filter value is not in the URL:
• Display a summary
• En el resto de la configuración mantener las opciones predeterminadas
• When the filter value is in the URL:
• Override title: Usuarios con el rol %1
• Guardar la vista
Ejercicio: Crear una vista que liste las
últimas entradas de blog por usuario I
• Crear la vista:
• Construcción del sitio>Views>Add
• View name: entradas_blog_recientes
• View tag: blog
• View type: Nodo
• Configuración default
• Campos
• Añadir los campos
• Nodo: Título
• Borrar la etiqueta
• Link this field to its node
• Colocar el campo Título delante de Post date
• Filtros
• Añadir los filtros
• Nodo: Type
• Is one of Entrada de bitácora
• Nodo: Published
• Sí
Ejercicio: Crear una vista que liste las
últimas entradas de blog por usuario II
• Sort criteria (orden)
• Añadir el criterio Node: Post date y configurarlo en orden Descending
• Basic settings (primera columna)
• Items to display: 4
• Style: HTML list
• Arguments
• Añadir el argumento Usuario: uid
• Título: Entradas recientes de %1
• Action to take if argument is not present: Provide default argument
• User ID from URL
• Also look for a node and use node author
• Validator: Usuario
• Probar el argumento escribiendo 1 en el campo de la sección Live preview
• Crear el display de bloque
• Seleccionar Block y pulsar Add display
• Block Settings (debajo de Basic Settings)>Admin: Entradas de blog recientes
• Guardar la vista
• Construcción del sitio>Bloques para mostrar el bloque
Ejercicio: Crear una vista de talleres
• Vamos a crear una vista que muestre todos los
talleres propuestos.
• Administrar>Construcción del sitio>Views>Add.
•View name: Talleres
•View tag: Talleres (sólo sirve para ordenar las vistas en la
zona administrativa)
•View type: Node
• Pulsar Next para empezar a configurar la vista.
Ejercicio: Configurar la vista talleres
• En la sección Basic
Settings:
•Título: Talleres propuestos
•Style: Tabla
•Use pager: Sí – Full pager
•Empty text: Aún no se ha
propuesto ningún taller
Ejercicio:
Añadir campos a la vista talleres
• En la sección Fields, pulsar el icono + para
añadir cada uno de los siguientes
campos:
• Nodo: Título
• Nodo: Post date
• Contenido: Precio
• Contenido: Responsable
• Y configurarlos así:
• Título: Link this field to its node
• Post date: Date format
• Precio: Formato
• Responsable: dejar por defecto
• Comprobar que en la previsualización de
la vista se muestran todos los tipos de
nodos (no sólo los de tipo taller).
• Reordenar los campos como se muestra
en la figura.
Ejercicio:
Filtrar la vista talleres
• En la sección Filtros, pulsar
el icono + para añadir los
siguientes filtros:
•Nodo: Published
•Nodo: Type (Is one of Taller)
Ejercicio:
Establecer un orden en la vista talleres
• En la sección Sort criteria, pulsar el
icono + para añadir el siguiente
criterio:
• Nodo
• Post date
• Descendant
• Granurality: second
• La granularidad sirve para indicar a
qué nivel deben considerarse
idénticos en ordenación dos nodos
(por ejemplo, si tiene la misma hora
aunque los minutos/segundos sean
distintos). Esto es muy útil para poder
aplicar criterios de ordenación
secundarios. Por ejemplo, ordenar
primero por fecha y luego por título
todos los talleres propuestos para el
mismo día.
Ejercicio:
Crear un display para la vista talleres
• En la sección Defaults,
seleccionar Página y pulsar
Add display.
• Configurar la sección Page
Settings del siguiente
modo:
•Ruta: talleres
•Menú
• Normal menu entry
• Título: Talleres propuestos
• Menú: Navegación
Ejercicio:
Crear un argumento en la vista talleres
• En la sección Arguments, pulsar el icono + y
configurar el siguiente argumento:
• Contenido: Departamento
• Título: Talleres propuestos por el departamento %1
• Action to take…: Summary, sorted ascending
• Display: List
• Display record count with link (mediante el icono de la rueda dentada)
• Comprobar cómo ha variado el comportamiento del enlace "Talleres
propuestos"
Ejercicio:
Crear la vista de inscripciones
• Vamos a crear 3 displays para la vista de
inscripciones:
• Uno que muestre todas las inscripciones recibidas
• Otro que muestre en una ficha adicional del nodo de cada taller las
inscripciones que ha recibido
• Y una última que muestre en un bloque las inscripciones que ha realizado el
usuario actualmente acreditado
Ejercicio:
Configurar los defaults I
• Construcción del sitio>Views>Lista>Add
• View name: Inscripciones
• View tag: inscripciones
• View type: Node
• Next
• Style: Table
• Use Pager: Yes, Full pager
• Empty text: No se han realizado inscripciones aún.
• Añadir los siguientes campos (fields):
• Contenido: Taller - Link this field to its node
• Nodo: Post date – Elegir un formato de fecha que indique el día de la semana
• Nodo: Título - Link this field to its node
• Usuario: Nombre – Etiqueta=Solicitante
Ejercicio:
Configurar los defaults II
• Recolocar los campos situando el node reference al taller en último lugar
• Añadir un orden (Sort criteria) que ordene las inscripciones en sentido
descendente de Post date
• Añadir los siguientes filtros:
• Nodo: Publicado - Sí
• Nodo: Tipo – Is one of Inscripción
Ejercicio:
Crear el display de todas las inscripciones
• Añadir un display de tipo Page
• Configurar el acceso para los Asesores
• Pulsar Override
• Seleccionar Role
• Pulsa Actualizar
• Seleccionar el rol Asesor
• Pulsar Actualizar
• Crear un ítem de menú
• Ruta: inscripciones
• Menú: Normal menu entry – Título: Inscripciones – Menú: Navegación
Ejercicio:
Crear el display de las inscripciones de un taller
• Añadir un display de tipo Page y cambiar su
nombre a Inscripciones por taller
• Restringir el acceso de este display para que
sólo puedan usarlo los asesores
• Añadir un Relationship al elemento
Contenido: Taller y activando la opción
Require this relationship
•Esto lo hemos hecho porque queremos que se
muestren sólo las inscripciones recibidas para un
taller en particular.
Ejercicio:
Crear el display de las inscripciones de un taller
• Override los arguments
• Crear este argumento:
•Nodo: Nid
• Relationship: Taller
• Título: Inscripciones recibidas para el taller %1
• Action to take…: Display empty text
• Validator: Nodo
• Taller
• Validate user has access to the node
Ejercicio:
Crear el display de las inscripciones de un taller