kiwoo

Resumen sobre configuración y creación de plantillas en Drupal

Que es Drupal

Drupal es un gestor de contenidos (CMS en inglés, Content Management System).

 

A diferencia de otros CMS Drupal es muy flexible y permite construir desde blogs, a portales corporátivos, comunidades o tiendas.

 

Existen miles de webs hechos en Drupal, algunos de ellos bastante importantes.

 

Este tutorial aplica a la versión 6 de Drupal. Cada versión se rehace totalmente e implica que los módulos (plugins) dejan de funcionar.

 

El hecho de que Drupal sea de código abierto, permite que se haya creado una gran comunidad de usuarios y desarrolladores, y facilita encontrar soluciones a problemas que se puedan encontrar.

 

Cuando creamos una aplicación web nueva debemos pensar a 3 diferentes niveles.

 

  

 1- Contenido. Cual es la estructura de contenidos de nuestra web?. Definirla lo mejor posible a través de los tipos de contenido de Drupal, los campos CCK y las ca
tegorias.
    2- Diseño gráfico. Diseño en formato gráfico y plantillas (html/css)
    3- Integración de un tema (theme) a base de plantillas (archivos con la extensión tpl.php). Las plantillas deberán tener en cuenta la estructura de contenidos y las plantillas estáticas previas.

1- Contenidos

Definir tipos de contenido y campos especiales

Para nuestro ejemplo vamos a crear un tipo de contenido especial llamado "

proyecto

". Representa uno de los trabajos del portfolio acompañado con una o varias imágenes.

 

Debemos añadir un campo de imagen (file/image) y otro para el año (número). Para definir estos campos especiales necesitamos tener activado el módulo CCK, Image Field (y otros auxiliares).

 

Además crearemos una

taxonomia

(categoria) para poder clasificarlos por tipos.

 

Y otra taxonomia general llamada "tags" para etiquetar cualquier tipo de contenido.

 

Mantendremos el tipo de contenido "

page

" que nos permitirá crear cualquier página "normal" de nuestra web.

 

Añadiremos otro tipo de contenido llamado "

video

" para poder mostrar videos. En realidad podriamos haber añadido este campo "video" al tipo de contenido "proyecto" pero lo hemos hecho así para ilustrar mejor el tema de los tipos de contenido.

 

A nivel de contenidos, una vez los hemos definido tendremos los siguientes tipos de contenido:

 

    Proyecto: fotos, año, categoria del proyecto

 

    Video: archivo flv (mismas categorias)

 

    Páginas normales (page)

 

    y podriamos haber definido otros:

 

        Noticias

 

        Agregar feeds

Crear contenidos (aunque sean de muestra)

El siguiente paso es crear contenidos (aunque sean de prueba) para poder navegar por el sitio.

 

Aunque sea sin el diseño definitivo la web ya debe ser totalmente navegable, la plantilla (theme) sólo será una "capa" encima de este contenido.

 

O sea que en este momento ya podemos.

 

    - Crear nuevos contenidos para cada tipo

 

    - Publicarlos en la portada o no

 

    - Listar los contenidos en categorias y tags (clicando en ellos)

Navegar por los contenidos, portada y páginas unicas.

Al crear un contenido debemos fijarnos si se publica en la portada o no, esta opción está dentro de "publishing options" como "

Promoted to front page

". En este caso cuando estamos en la portada de nuestro sitio veremos una lista en modo "teaser" de estos contenidos.

 

El modo teaser es un modo resumido donde aparece sólo parte del contenido.

 

Podemos decidir que aparece y cómo en los modos teaser y normal para nuestros tipos de contenido. Para ello debemos ir a "content management / tipos de contenido", seleccionar uno de los tipos e ir a la sección "display fields".Aqui podemos definir para cada uno de nuestros campos especiales como aparece en modo "teaser" y "full node", y si tiene etiqueta o no.

 

Por defecto el texto del nodo aparece cortado en el teaser en el primer párrafo, pero podemos decidir donde se corta.

 

El teaser aparece por defecto en cualquier listado, como los contenidos de la portada, o cuando clicamos en una categoria o tag. En este caso nos aparece una lista con todos los contenidos para esa categoria (también en modo teaser).

 

Siempre que clicamos en el título nos lleva a la página única del nodo en modo "full node".

 

En el tipo de contenido entre otras cosas también podemos decidir si ese tipo permite dejar comentarios a la gente o no (ver "workflow settings")

 

Por tanto por defecto tenemos las siguientes pantallas:

 

- front page (portada o home). Donde aparece un listado de los contenidos publicados en la portada. En modo teaser.

 

- Listado para cualquier término de una taxonomia. Cuando clicamos en una palabra. También en modo teaser.

 

- Al clicar en el título de cualquier contenido nos lleva al "full node", la página única del contenido.

 

En realidad para Drupal cualquier página tiene la ruta node/xx. Donde xx es el id del nodo.

 

Esta ruta se puede reescribir internamente (con el módulo pathauto) pero siempre podemos acceder a través de node/xx, y por ejemplo para editar el contenido de un nodo la ruta seria node/xx/edit.

Crear una página genérica

- front page

 

- listado de proyectos por categoria

 

- página única de un proyecto

 

- páginas especiales

2- En este ejemplo hemos obtenido un diseño directamente de css garden

Debemos tener claro sobre todo que regiones hemos definido para la página

3- Como crear nuestra propia plantilla

Al crear una plantilla debemos tener claro que una prueba de que lo estamos haciendo bien es cambiar a cualquier otra plantilla y poder seguir navegando por nuestra web. En caso contrario aunque el sitio puede funcionar perfectamente no lo estamos haciendo correctamente.

 

Para crear una plantilla (theme) necesitamos al menos 2 archivos, los más importantes.

 

portfolio.info : La configuración de nuestra plantilla

 

page.tpl.php : La plantilla de todas las páginas

 

Estos 2 archivos deberán estar creados en la siguiente ruta:

 

sites/all/themes/portfolio

 

En portfolio.info debemos tener al menos esta información:

 

name = Portfolio de ejemplo para el MAD

 

description = Una plantilla de ejemplo totalmente configurable!

 

screenshot = images/screenshot.png

 

core = 6.x

 

engine = phptemplate

 

regions[izquierda] = Region izquierda

 

regions[abajo] = Explanation

 

regions[derecha] = Region derecha

 

regions[abajo] = Abajo

 

stylesheets[all][] = css/styles.css

 

scripts[] = js/swfobject.js

Copiamos el html y css de nuestra plantilla en la carpeta del tema y cambiamos el nombre del archivo html por page.tpl.php (el nombre de la plantilla principal de nuestro tema).
Añadimos en la sección header la siguiente instrucción de php

<?php print $styles ?>

Añadir también <?php print $scripts ?> en la siguiente linea

Nos aseguramos que en el archivo .info la ruta del css es realmente la que tenemos, por ejemplo:

stylesheets[all][] =

css/styles.css

 

Siempre es recomendable usar la codificación utf-8

 

<meta http-equiv="content-type" content="text/html; charset=

utf-8

" />

 

En este momento deberiamos poder activar el tema y ver la plantilla a través de Drupal, sin contenido!!

 

Para poder ver el contenido debemos escribir en page.tpl.php <?php print $content ?> en el sitio que consideramos que es el lugar (división, id) donde debe aparecer.

 

A partir de este momento ya podemos navegar por todos los contenidos!!!!!

Definir resto de variables en page.tpl.php

Podemos definir el resto de variables en nuestra plantilla, como referencia podemos usar cualquier page.tpl.php de otro tema de Drupal.

 

Algunos ejemplos de variables que podemos necesitar:

 

El título de la página

 

<title><?php print $head_title ?></title>

 

Los tabs (permiten por ejemplo ir directamente a editar el contenido)

 

<?php if ($tabs): print '<div id="tabs-wrapper" class="clear-block">'; endif; ?>

Regiones y bloques

A parte de la navegación básica de Drupal, tenemos los bloques.

 

Los bloques son regiones fijas de nuestra plantilla donde podemos asignar bloques.

 

Estos bloques pueden ser

 

    - Menús

 

    - Bloques definidos por otros módulos

 

    - Hechos "a mano"

 

    - Creados usando el módulo "views"

 

Podemos definir todos los bloques que queramos en nuestro archivo .info

 

Por ejemplo:

 

regions[izquierda] = Región izquierda

 

regions[abajo] = Abajo

 

regions[derecha] = Región derecha

 

Luego en page.tpl debemos escribir en cada una de estas regiones un print con el nombre que hayamos puesto en el archivo info

 

por ejemplo <?php print $izquierda ?>

 

A partir de entonces todos los bloques que asignemos a la región izquierda en el administrador aparecerán aquí.

Plantillas para páginas específicas

Podemos definir plantillas especiales para

 

Portada: page-front.tpl.php

 

Página única de un nodo: page-node.tpl.php

 

También podemos definir plantillas específicas para cada tipo de contenido.

Plantillas para tipos de contenido

node.tpl.php <-- aplica a todos los tipos de contenido

 

node-proyecto.tpl.php  <-- sólo aplica a los nodos de tipo "proyecto"

 

En el caso de hacer una plantilla para los tipos de nodo podemos usar varias variables definidas en este documento:

http://drupal.org/node/11816

Los campos definidos por cck son visibles en estas plantillas con el nombre del campo, por ejemplo $field_foto.

 

Es posible también definir plantillas especiales para los bloques, nodos particulares, etc etc.

 

Es una estrategia "de general a particular".

Como copiar los contenidos de un servidor a otro

Si queremos mover una instalación de Drupal de un sitio a otro (por ejemplo de local a remoto) podemos realizar una copia siguiendo exactamente los siguientes pasos:

 

Imaginemos que queremos copiar una instalación de Drupal desde nuestro servidor local a un servidor remoto llamado www.servidorremoto.com

 

- Exportar todas las tablas de la base de datos (mejor en un archivo zip o gzip). Se recomienda antes de realizar este paso vaciar la caché de Drupal (en site configuration/performance)

 

- Crear una base de datos en nuestro servidor remoto (sino está ya creada) e importar los datos ahí, por ejemplo en una carpeta /portfolio.

 

- Copiar todos los archivos por ftp al nuevo destino.

 

- Modificar el archivo sites/default/settings.php (igual es necesario cambiar los derechos de escritura, puede estar protegido)  y modificar la siguiente linea poniendo los datos de la conexión mysql:

 

$db_url = 'mysql://user:passwd@localhost/nombrebd';

 

donde user y passwd es el usuario y password de mysql

 

localhost es la dirección del servidor mysal (normalmente localhost)

 

y nombrebd el nombre de nuestra base de datos

 

Una vez seguidos estos pasos deberiamos poder entrar en nuestra web de Drupal

 

www.servidorremoto.com/portfolio

 

y al administrador

 

www.servidorremoto.com/portfolio/admin

 

Si en este punto nos aparece un mensaje diciendo que la web no funciona quiere decir que no hemos escrito correctamente los datos en el archvio settings.php

 

Por supuesto se mantienen todos los contenidos y usuarios que tengamos definidos en la versión local.

 

- Para acabar faltaria un detalle. Debemos dar derechos de escritura al directorio sites/default/files y todos los que pueda haber en el interior. Aquí es donde Drupal copia los archivos que subimos al administrador (imágenes, etc)

 

Además debemos entrar en site configuration/file system y verificar si los directorios existen y corresponden con los del servidor (en caso contrario nos mostrará un mensaje de error). Si esto no está configurado el sitio funcionará pero no podremos crear subir nuevos archivos.

Como actualizar Drupal y los módulos

Si vamos al apartado del administrador Reports/Available Updates nos saldrá una lista que nos indica que módulos no están actualizados. En el caso de que haya que actualizar alguno tendremos que seguir los siguientes pasos:

 

-Descargar los archivos.

 

-Descomprimirlos en la ruta correspondiente

 

-Abrir en el navegador la siguiente dirección www.servidorremoto.com/update.php (donde servidorremoto es nuestra dirección, claro)

 

Ampliaciones sobre el tema:

Como gestionar varios idiomas y traducciones

Para que sirve el cron y como se activa?

Como crear vistas y crear plantillas para estas vistas.
 

 

Comentarios

buy cialis ,

cialis , cialis ,

cialis , viagra , cialis ,

viagra , cialis , viagra ,

viagra , cialis online ,

viagra , cheap cialis ,

viagra , buy cialis , viagra

egzFkp GaWcmWS

egzFkp GaWcmWS

viagra , buy cialis , viagra

viagra , cialis , viagra ,

uYPXLuJV Cialis Cialis Buy

cialis , cialis ,

viagra , cialis , viagra ,

viagra , cialis , viagra ,

viagra , cialis , viagra ,

cialis , viagra online ,

viagra , cheap cialis ,

buy viagra , buy cialis , buy

VOAWWYn cNQUQH

VOAWWYn cNQUQH

buy cialis , buy viagra ,

cialis , viagra , cialis ,

cialis online , viagra ,

viagra , cialis , buy viagra

cialis , cheap viagra ,

viagra , cialis , viagra ,

cialis , buy viagra , cialis

viagra , cialis , cialis ,

cialis , viagra online ,

cialis , viagra , buy cialis

viagra , cialis soft tabs ,

viagra , buy cialis , cialis

viagra , cheap cialis ,

viagra , buy cialis , cialis

cialis , generic viagra ,

cialis , buy viagra , viagra

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <br> <p> <pre>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato