SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Temas
                       Drupal 7


Osvaldo Villarroel Marañon
Desarrollador Drupal
vacho@koala-soft.com
www.koala-soft.com
Para empezar a ser un Themer
● Conocer drupal a nivel básico.
http://drupal.org/documentation

● Php a nivel básico.
http://php.net/manual/es/index.php
http://www.desarrolloweb.com/php/

● Html.
http://www.desarrolloweb.com/manuales/21/

● Css a nivel intermedio - avanzado.
http://www.desarrolloweb.com/manuales/manual-css-hojas-de-estilo.html

● Herramientas para crear, manipular imágenes
gimp, photoshop, illustrator, etc.

● Buen gusto. Si no lo tienes desarrollalo.
http://www.elwebmaster.com/general/como-elegir-esquema-colores-sitio-web
http://www.elwebmaster.com/general/el-efecto-laberinto-y-como-afecta-el-diseno-de-tu-sitio-web
http://www.elwebmaster.com/general/consejos-errores-comunes-diseno-web
Estructura de archivos   .info (imprescindible)
                         Define todo lo que drupal conocerá
                         del tema: hojas de estilos, javascripts,
                         regiones de bloque y más.

                         Archivos de plantilla (template)
                         .tpl.php
                           ● Definen la estructura del tema.
                           ● Contienen html y variables php.
                           ● Generan una salida HTML.
                           ● Ejem: comment.tpl.php definirá
                               como     se     muestran     los
                               comentarios.
                           ● Pueden estar en la carpeta o en
                               un subdirectorio "templates"

                         template.php
                         Permite       preprocesamiento    de
                         variables para mantener limpios de
                         lógica los archivos de plantilla.

                         .css
                         style.css es el archivo principal,
                         pueden existir varios otros y también
                         se puede organizar todos en una
                         carpeta "css"

                         NOTA: Escribir en sites/all/themes
                         para separar de los Temas del core.
Otros archivos
● logo.png.- El logo del tema que generalmente será
     reemplazado por el logo del sitio.
●    screenshot.png.- La pantalla miniatura para el panel
     de administración del sitio.
Existe una guía para crearlos en http://drupal.org/node/11637

● theme-settings.php.- Puede ser usado para proveer
     opciones de administración al Tema, más allá del logo,
     lema, etc.
Guía para construir "advanced features" http://drupal.org/node/177868

● color.inc.- Colocado en una carpeta "color" puede dar
     soporte al módulo color (que permite el cambio de color
     de un tema)
Integración con el módulo color http://drupal.org/node/108459
Archivos de plantilla
Consideraciones
● Los archivos de plantilla .tpl.php aportan en el diseño
     de algún elemento (capa de presentación).
●    Drupal tiene sus propios archivos de plantilla para el
     caso en que el tema activo no disponga de estos.
Al encontrar drupal un archivo block.tpl.php dentro los archivos del Tema activo procederá a ejecutar
este en lugar del distribuido con el módulo block del núcleo.
Plantilla html.tpl.php
Es el archivo encargado de definir la estructura de la
página html. (Muestra <html>, <head> y <body>)
Variables php usuales en este template:
● $head_title. Título a utilizar en la etiqueta <title>.
● $head. Encabezado completo, incluyendo las etiquetas
    meta, keyword, etc.
● $styles. Código para incluir las hojas de estilo CSS.
● $scripts. Código para incluir los archivos javascript.
● $page. Contenido de la página en HTML, ya procesado
    y listo para mostrar en el navegador.
Si nuestro Tema no presenta este archivo drupal usa
modules/system/html.tpl.php
Plantilla page.tpl.php
Genera el contenido y envía a html.tpl.php mediante $page
● $base_path. Ruta de la instalación de Drupal.
● $directory. Ruta relativa de la carpeta donde está el
     tema del sitio.
Ejemplo :Para referenciar una imagen dentro del tema usamos:
<?php print $base_path.$directory ?>/images/cabecera.jpg

● $breadcrumb. Código HTML que muestra la navegación
     de migas de pan del sitio.
●    $front_page. Enlace a la página de inicio del sitio.
●    $logo. Enlace a la imagen de logo.
●    $site_name. El nombre del sitio.
●    $site_slogan. Slogan del sitio
● $title. Título de la página.
● $messages. Mensajes de error o notificaciones.
● $tabs. Enlaces de las pestañas que se muestran en la
    página (Ejem: ver y editar un nodo).
●   $node. El Nodo que se esta cargando.
●   $page['content']. Contenido principal en HTML.
●   $page['sidebar_first']. Contenido de la primera columna.
●   $page['sidebar_second']. La segunda columna.
●   $page['header']. El contenido de la cabecera.
●   $page['footer']. Elementos del pie de página.

Si nuestro Tema no presenta este archivo drupal usa
modules/system/page.tpl.php
Plantilla node.tpl.php
Representa el contenido de un nodo a través de la variable
$page['content']
● $title. El título del nodo.
● $content. El contenido del nodo
Es un vector que contiene todos los elementos del nodo. Se puede utilizar la función render para
imprimir estos elementos (con render($content) imprimimos todos los elementos, con render($content
['campo']) imprimimos sólo el campo 'campo'.

●    $user_picture. La imagen de usuario del autor del nodo.
●    $date. Fecha de creación del nodo.
●    $name. El nombre de usuario del autor del nodo.
●    $node_url. La URL del nodo.
●    $type. El tipo del nodo (por ejemplo page, story, blog).
●   $comment_count. Número de comentarios del nodo.
●   $page. TRUE si se está visualizando el nodo completo.
●   $teaser. TRUE si se está visualizando la vista resumen.
●   $promote. TRUE si el nodo está promocionado a la
    página de inicio (página /node).
●   $sticky. TRUE si el nodo está fijo al comienzo de listas.
●   $status. TRUE si el nodo está publicado.

Si nuestro Tema no presenta este archivo drupal usa
modules/node/node.tpl.php
Plantilla block.tpl.php
Representa el contenido de los bloques.
●   $block->subject. El título del bloque.
●   $content. El contenido del bloque.
●   $block->module. El módulo que ha generado el bloque.
●   $block->region. La región en la que está ubicado el
    bloque.

Si nuestro Tema no presenta este archivo drupal usa
modules/block/block.tpl.php
Otras Plantillas
● region.tpl.php. Presentación de cualquiera de las
   regiones del tema.
   modules/system/region.tpl.php.

● comment.tpl.php. Muestra los comentarios del sitio.
   modules/comment/comment.tpl.php.

● comment-wrapper.tpl.php. Contenedor para los
   comentarios.
   modules/comment/comment-wrapper.tpl.php.

● user-picture.tpl.php. Presentación de la imagen del
   usuario.
   modules/user/user-picture.tpl.php.
Plantillas de módulos
Los módulos pueden contener sus propias pantllas.
Para modificar una deberemos copiar el archivo .tpl.php a
la carpeta del Tema activo.
Modificaciones de Temas
Consideraciones:
● Actualizar la caché del navegador Ctrl + F5.
● Actualizar la caché del sitio.
● Drupal genera código html y se lo entrega al
  navegador.
Proceso:
● Copiar los archivos deseados del Tema
  base.
● Modificar los archivos .tpl.php, css, js segun
  sea el caso.
● Modificar archivos de imágenes.
Subtemas
● Son usados cuando se quiere crear un tema con base
    en otro.
●   Se crean de igual forma que cualquier otro tema y
    tienen la misma estructura de archivos. Además
    heredan los recursos de los temas base.
●   Para crear un subtema:
    Forma 1. Creando los archivos uno por uno
    Forma 2. Crear una copia de la carpeta y renombrar archivos.
    Luego ingresar en el .info del subtema el código: base theme = fusion_core
    donde "fusion_core" es el nombre del tema base
    Nota:.
    Guía más detallada: http://drupal.org/node/225125

● Se pueden tener múltiples niveles de herencia. Un
    subtema puede declarar otro subtema como base.
Temas base
Están diseñados para ser extendidos.
●   Zen http://drupal.org/project/zen
●   Fusion http://drupal.org/project/fusion
●   Omega http://drupal.org/project/omega
●   NineSixty (960 Grid System) http://drupal.
    org/project/ninesixty
●   Genesis http://drupal.org/project/genesis
●   Basic http://drupal.org/project/basic
●   AdptiveTheme http://drupal.org/project/adaptivetheme

Los temas base suelen tener indicaciones para la forma de
crear un subtema.
Referencias
http://drupal.org/documentation/theme
Esquema de archivos
http://drupal.org/node/171194
http://www.drupal.org

Mais conteúdo relacionado

Mais procurados (20)

Taller 1 mariana barreto
Taller 1 mariana barretoTaller 1 mariana barreto
Taller 1 mariana barreto
 
HTML
HTMLHTML
HTML
 
Html Exposicion
Html ExposicionHtml Exposicion
Html Exposicion
 
Html
HtmlHtml
Html
 
MANUAL HTML BASICO.
MANUAL HTML BASICO.MANUAL HTML BASICO.
MANUAL HTML BASICO.
 
Html 5. Estructura de un documento para la Web
Html 5. Estructura de un documento para la WebHtml 5. Estructura de un documento para la Web
Html 5. Estructura de un documento para la Web
 
Apuntes de HTML
Apuntes de HTMLApuntes de HTML
Apuntes de HTML
 
Estructurabasica
EstructurabasicaEstructurabasica
Estructurabasica
 
Manual de introducción a CSS3
Manual de introducción a CSS3Manual de introducción a CSS3
Manual de introducción a CSS3
 
Curso HTML y CSS, parte 1
Curso HTML y CSS, parte 1Curso HTML y CSS, parte 1
Curso HTML y CSS, parte 1
 
05 Introduccion a HTML
05 Introduccion a HTML05 Introduccion a HTML
05 Introduccion a HTML
 
HTML y CSS
HTML y CSSHTML y CSS
HTML y CSS
 
Introducción a HTML y CSS
Introducción a HTML y CSSIntroducción a HTML y CSS
Introducción a HTML y CSS
 
Html trabajo!
Html trabajo!Html trabajo!
Html trabajo!
 
Manual html
Manual htmlManual html
Manual html
 
HTML
HTMLHTML
HTML
 
Practico html
Practico htmlPractico html
Practico html
 
Buenas prácticas en XHTML, CSS y Accesibilidad
Buenas prácticas en XHTML, CSS y AccesibilidadBuenas prácticas en XHTML, CSS y Accesibilidad
Buenas prácticas en XHTML, CSS y Accesibilidad
 
Maquetado con HTML y CSS
Maquetado con HTML y CSSMaquetado con HTML y CSS
Maquetado con HTML y CSS
 
Elaboración de paginas web dinamicas
Elaboración de paginas web dinamicasElaboración de paginas web dinamicas
Elaboración de paginas web dinamicas
 

Semelhante a Temas Drupal

Taller de Drupal - Sesión 4
Taller de Drupal - Sesión 4Taller de Drupal - Sesión 4
Taller de Drupal - Sesión 4SEAT, S.A.
 
ABC theming en Drupal7
ABC theming en Drupal7ABC theming en Drupal7
ABC theming en Drupal7Jorge Ram
 
MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!SergioIglesiasNET
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10Keopx
 
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...SergioIglesiasNET
 
#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!SergioIglesiasNET
 
Joomladay Mallorca 2010 Templates Workshop
Joomladay Mallorca 2010 Templates WorkshopJoomladay Mallorca 2010 Templates Workshop
Joomladay Mallorca 2010 Templates Workshopjoomlaprojects
 
Introduccion técnica a Drupal
Introduccion técnica a DrupalIntroduccion técnica a Drupal
Introduccion técnica a DrupalPedro Cambra
 
Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7Edgar Dueñas
 
Drupal conceptos básicos y su alcance en proyectos
Drupal conceptos básicos y su alcance en proyectosDrupal conceptos básicos y su alcance en proyectos
Drupal conceptos básicos y su alcance en proyectosWalter Herrera
 
Curso Drupal. Theming con Drupal
Curso Drupal. Theming con DrupalCurso Drupal. Theming con Drupal
Curso Drupal. Theming con DrupalMediaglobe Innova
 
Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8Pakman Lh
 
Que es un child theme y como está relacionado con WordPress
Que es un child theme y como está relacionado con WordPressQue es un child theme y como está relacionado con WordPress
Que es un child theme y como está relacionado con WordPressLuis Miguel Delgado
 
Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1Julio Camarero
 
Manual Plantillas Joomla 15
Manual Plantillas Joomla 15Manual Plantillas Joomla 15
Manual Plantillas Joomla 15BarCamp Quito
 
Drupal - theming (tips)
Drupal - theming (tips)Drupal - theming (tips)
Drupal - theming (tips)Mco Torres
 
2-Diseñando el encabezado.pptx
2-Diseñando el encabezado.pptx2-Diseñando el encabezado.pptx
2-Diseñando el encabezado.pptxCarlosMora267870
 
Manual de instalación drupal 7.2 mejorado Universidad de Los Andes
Manual de instalación drupal 7.2 mejorado Universidad de Los AndesManual de instalación drupal 7.2 mejorado Universidad de Los Andes
Manual de instalación drupal 7.2 mejorado Universidad de Los AndesBrox Technology
 

Semelhante a Temas Drupal (20)

Taller de Drupal - Sesión 4
Taller de Drupal - Sesión 4Taller de Drupal - Sesión 4
Taller de Drupal - Sesión 4
 
ABC theming en Drupal7
ABC theming en Drupal7ABC theming en Drupal7
ABC theming en Drupal7
 
MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!MasterClass Desarrollo Plantillas Joomla!
MasterClass Desarrollo Plantillas Joomla!
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
 
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
Joomla!Day 2011 España - Taller desarrollo de plantillas Joomla! - Sergio Igl...
 
#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!
 
Joomladay Mallorca 2010 Templates Workshop
Joomladay Mallorca 2010 Templates WorkshopJoomladay Mallorca 2010 Templates Workshop
Joomladay Mallorca 2010 Templates Workshop
 
Introduccion técnica a Drupal
Introduccion técnica a DrupalIntroduccion técnica a Drupal
Introduccion técnica a Drupal
 
Creando módulos en Drupal 7
Creando módulos en Drupal 7Creando módulos en Drupal 7
Creando módulos en Drupal 7
 
Drupal conceptos básicos y su alcance en proyectos
Drupal conceptos básicos y su alcance en proyectosDrupal conceptos básicos y su alcance en proyectos
Drupal conceptos básicos y su alcance en proyectos
 
Curso Drupal. Theming con Drupal
Curso Drupal. Theming con DrupalCurso Drupal. Theming con Drupal
Curso Drupal. Theming con Drupal
 
Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8
 
Que es un child theme y como está relacionado con WordPress
Que es un child theme y como está relacionado con WordPressQue es un child theme y como está relacionado con WordPress
Que es un child theme y como está relacionado con WordPress
 
Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1
 
Manual Plantillas Joomla 15
Manual Plantillas Joomla 15Manual Plantillas Joomla 15
Manual Plantillas Joomla 15
 
Drupal - theming (tips)
Drupal - theming (tips)Drupal - theming (tips)
Drupal - theming (tips)
 
Introduccion drupal
Introduccion drupalIntroduccion drupal
Introduccion drupal
 
Manual del desarrollador
Manual del desarrolladorManual del desarrollador
Manual del desarrollador
 
2-Diseñando el encabezado.pptx
2-Diseñando el encabezado.pptx2-Diseñando el encabezado.pptx
2-Diseñando el encabezado.pptx
 
Manual de instalación drupal 7.2 mejorado Universidad de Los Andes
Manual de instalación drupal 7.2 mejorado Universidad de Los AndesManual de instalación drupal 7.2 mejorado Universidad de Los Andes
Manual de instalación drupal 7.2 mejorado Universidad de Los Andes
 

Mais de Osvaldo Villarroel Marañon (11)

Drupal console
Drupal consoleDrupal console
Drupal console
 
Drupal console
Drupal consoleDrupal console
Drupal console
 
Drupal console
Drupal consoleDrupal console
Drupal console
 
Developer skills
Developer skillsDeveloper skills
Developer skills
 
Drupal8 que cuandoque
Drupal8 que cuandoqueDrupal8 que cuandoque
Drupal8 que cuandoque
 
Tareas automáticas con drupal
Tareas automáticas con drupalTareas automáticas con drupal
Tareas automáticas con drupal
 
Redes sociales con drupal
Redes sociales con drupalRedes sociales con drupal
Redes sociales con drupal
 
Drupal8&symfony
Drupal8&symfonyDrupal8&symfony
Drupal8&symfony
 
Site building
Site buildingSite building
Site building
 
Commercio electronico con Drupal
Commercio electronico con DrupalCommercio electronico con Drupal
Commercio electronico con Drupal
 
Drush
DrushDrush
Drush
 

Último

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Último (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Temas Drupal

  • 1. Temas Drupal 7 Osvaldo Villarroel Marañon Desarrollador Drupal vacho@koala-soft.com www.koala-soft.com
  • 2. Para empezar a ser un Themer ● Conocer drupal a nivel básico. http://drupal.org/documentation ● Php a nivel básico. http://php.net/manual/es/index.php http://www.desarrolloweb.com/php/ ● Html. http://www.desarrolloweb.com/manuales/21/ ● Css a nivel intermedio - avanzado. http://www.desarrolloweb.com/manuales/manual-css-hojas-de-estilo.html ● Herramientas para crear, manipular imágenes gimp, photoshop, illustrator, etc. ● Buen gusto. Si no lo tienes desarrollalo. http://www.elwebmaster.com/general/como-elegir-esquema-colores-sitio-web http://www.elwebmaster.com/general/el-efecto-laberinto-y-como-afecta-el-diseno-de-tu-sitio-web http://www.elwebmaster.com/general/consejos-errores-comunes-diseno-web
  • 3. Estructura de archivos .info (imprescindible) Define todo lo que drupal conocerá del tema: hojas de estilos, javascripts, regiones de bloque y más. Archivos de plantilla (template) .tpl.php ● Definen la estructura del tema. ● Contienen html y variables php. ● Generan una salida HTML. ● Ejem: comment.tpl.php definirá como se muestran los comentarios. ● Pueden estar en la carpeta o en un subdirectorio "templates" template.php Permite preprocesamiento de variables para mantener limpios de lógica los archivos de plantilla. .css style.css es el archivo principal, pueden existir varios otros y también se puede organizar todos en una carpeta "css" NOTA: Escribir en sites/all/themes para separar de los Temas del core.
  • 4. Otros archivos ● logo.png.- El logo del tema que generalmente será reemplazado por el logo del sitio. ● screenshot.png.- La pantalla miniatura para el panel de administración del sitio. Existe una guía para crearlos en http://drupal.org/node/11637 ● theme-settings.php.- Puede ser usado para proveer opciones de administración al Tema, más allá del logo, lema, etc. Guía para construir "advanced features" http://drupal.org/node/177868 ● color.inc.- Colocado en una carpeta "color" puede dar soporte al módulo color (que permite el cambio de color de un tema) Integración con el módulo color http://drupal.org/node/108459
  • 5. Archivos de plantilla Consideraciones ● Los archivos de plantilla .tpl.php aportan en el diseño de algún elemento (capa de presentación). ● Drupal tiene sus propios archivos de plantilla para el caso en que el tema activo no disponga de estos. Al encontrar drupal un archivo block.tpl.php dentro los archivos del Tema activo procederá a ejecutar este en lugar del distribuido con el módulo block del núcleo.
  • 6. Plantilla html.tpl.php Es el archivo encargado de definir la estructura de la página html. (Muestra <html>, <head> y <body>) Variables php usuales en este template: ● $head_title. Título a utilizar en la etiqueta <title>. ● $head. Encabezado completo, incluyendo las etiquetas meta, keyword, etc. ● $styles. Código para incluir las hojas de estilo CSS. ● $scripts. Código para incluir los archivos javascript. ● $page. Contenido de la página en HTML, ya procesado y listo para mostrar en el navegador. Si nuestro Tema no presenta este archivo drupal usa modules/system/html.tpl.php
  • 7. Plantilla page.tpl.php Genera el contenido y envía a html.tpl.php mediante $page ● $base_path. Ruta de la instalación de Drupal. ● $directory. Ruta relativa de la carpeta donde está el tema del sitio. Ejemplo :Para referenciar una imagen dentro del tema usamos: <?php print $base_path.$directory ?>/images/cabecera.jpg ● $breadcrumb. Código HTML que muestra la navegación de migas de pan del sitio. ● $front_page. Enlace a la página de inicio del sitio. ● $logo. Enlace a la imagen de logo. ● $site_name. El nombre del sitio. ● $site_slogan. Slogan del sitio
  • 8. ● $title. Título de la página. ● $messages. Mensajes de error o notificaciones. ● $tabs. Enlaces de las pestañas que se muestran en la página (Ejem: ver y editar un nodo). ● $node. El Nodo que se esta cargando. ● $page['content']. Contenido principal en HTML. ● $page['sidebar_first']. Contenido de la primera columna. ● $page['sidebar_second']. La segunda columna. ● $page['header']. El contenido de la cabecera. ● $page['footer']. Elementos del pie de página. Si nuestro Tema no presenta este archivo drupal usa modules/system/page.tpl.php
  • 9. Plantilla node.tpl.php Representa el contenido de un nodo a través de la variable $page['content'] ● $title. El título del nodo. ● $content. El contenido del nodo Es un vector que contiene todos los elementos del nodo. Se puede utilizar la función render para imprimir estos elementos (con render($content) imprimimos todos los elementos, con render($content ['campo']) imprimimos sólo el campo 'campo'. ● $user_picture. La imagen de usuario del autor del nodo. ● $date. Fecha de creación del nodo. ● $name. El nombre de usuario del autor del nodo. ● $node_url. La URL del nodo. ● $type. El tipo del nodo (por ejemplo page, story, blog).
  • 10. $comment_count. Número de comentarios del nodo. ● $page. TRUE si se está visualizando el nodo completo. ● $teaser. TRUE si se está visualizando la vista resumen. ● $promote. TRUE si el nodo está promocionado a la página de inicio (página /node). ● $sticky. TRUE si el nodo está fijo al comienzo de listas. ● $status. TRUE si el nodo está publicado. Si nuestro Tema no presenta este archivo drupal usa modules/node/node.tpl.php
  • 11. Plantilla block.tpl.php Representa el contenido de los bloques. ● $block->subject. El título del bloque. ● $content. El contenido del bloque. ● $block->module. El módulo que ha generado el bloque. ● $block->region. La región en la que está ubicado el bloque. Si nuestro Tema no presenta este archivo drupal usa modules/block/block.tpl.php
  • 12. Otras Plantillas ● region.tpl.php. Presentación de cualquiera de las regiones del tema. modules/system/region.tpl.php. ● comment.tpl.php. Muestra los comentarios del sitio. modules/comment/comment.tpl.php. ● comment-wrapper.tpl.php. Contenedor para los comentarios. modules/comment/comment-wrapper.tpl.php. ● user-picture.tpl.php. Presentación de la imagen del usuario. modules/user/user-picture.tpl.php.
  • 13. Plantillas de módulos Los módulos pueden contener sus propias pantllas. Para modificar una deberemos copiar el archivo .tpl.php a la carpeta del Tema activo.
  • 14. Modificaciones de Temas Consideraciones: ● Actualizar la caché del navegador Ctrl + F5. ● Actualizar la caché del sitio. ● Drupal genera código html y se lo entrega al navegador. Proceso: ● Copiar los archivos deseados del Tema base. ● Modificar los archivos .tpl.php, css, js segun sea el caso. ● Modificar archivos de imágenes.
  • 15. Subtemas ● Son usados cuando se quiere crear un tema con base en otro. ● Se crean de igual forma que cualquier otro tema y tienen la misma estructura de archivos. Además heredan los recursos de los temas base. ● Para crear un subtema: Forma 1. Creando los archivos uno por uno Forma 2. Crear una copia de la carpeta y renombrar archivos. Luego ingresar en el .info del subtema el código: base theme = fusion_core donde "fusion_core" es el nombre del tema base Nota:. Guía más detallada: http://drupal.org/node/225125 ● Se pueden tener múltiples niveles de herencia. Un subtema puede declarar otro subtema como base.
  • 16. Temas base Están diseñados para ser extendidos. ● Zen http://drupal.org/project/zen ● Fusion http://drupal.org/project/fusion ● Omega http://drupal.org/project/omega ● NineSixty (960 Grid System) http://drupal. org/project/ninesixty ● Genesis http://drupal.org/project/genesis ● Basic http://drupal.org/project/basic ● AdptiveTheme http://drupal.org/project/adaptivetheme Los temas base suelen tener indicaciones para la forma de crear un subtema.