Context vs. Panels
Luis Ortiz Ramos
www.ateneatech.com
Sobre mí
Ingeniero informático
en la Facultad de
Informática de
Barcelona
Arquitecto Drupal en
Atenea tech
www.ateneatech.com
¿Cómo organizamos la disposición de los
elementos en las páginas en un proyecto
concreto?
www.ateneatech.com
Tres estrategias
1. Blocks
2. Context
3. Panels
www.ateneatech.com
Blocks
● Core
● Regiones
● Bloques
– De texto sencillo o creados por los módulos (como Views)
– Un bloque → Una región
– Visibilidad por:
● Path
● Content type
● Role
● PHP
www.ateneatech.com
Ejemplo – Familia y Salud
● Web de artículos de pediatría
● Mayo de 2012
● http://familiaysalud.es
www.ateneatech.com
Solución
● Page.tpl.php con regiones que se ocultan si
están vacías
● Visibilidad de bloques por tipo de contenido o
path
www.ateneatech.com
Problemas de Blocks
● Un bloque solo puede estar en una región
● Disposiciones que dependen del tipo de
contenido:
– Preprocess
– Plantilla por tipo
● Si las condiciones no son suficientes hay que
usar PHP
www.ateneatech.com
Context
● Contexto:
– Condiciones
– Reacciones
www.ateneatech.com
● Book
● Book root
● Context
● Language
● Menu
● Node type
Condiciones
● Taxonomy
● Path
● Sitewide context
● Taxonomy term
● User role
● User page
● Views
www.ateneatech.com
Reacciones
● Regions
● Theme Page
● Theme HTML
● Blocks
● Breadcrumb
● Debug
● Menu
www.ateneatech.com
Reacción Block
● Qué bloque ponemos en cada región
● Qué disposición usamos
– con Context Layouts
● diferentes page.tpl.php en el tema
www.ateneatech.com
Mejor que Blocks
● Un bloque puede estar en más de una región
dependiendo del contexto
● Con Context Layouts, podemos reusar
plantillas de páginas
● Las condiciones son mucho más complejas y
ampliables con plugins
www.ateneatech.com
Ejemplo - Citilab
● Web corporativa del centro
● Drupal 6
● Noviembre de 2011
● http://citilab.eu
www.ateneatech.com
Solución
● Tres disposiciones para Context Layouts
● Tres contextos:
– Inicio
– Perfil
– Noticia
www.ateneatech.com
Problemas de Context
● Muchos contextos simultáneos son difíciles de
gestionar
● Y si queremos hacer personalizar la
disposición de otros elementos como:
– Bloques
– Entidades
www.ateneatech.com
Panels
● De Earl Miles, creador de Ctools y Views
● Su núcleo es un editor de disposiciones visual
www.ateneatech.com
Uso
● Panel nodes → Nodos
● Panelizer → Entidades
● Mini panels → Bloques
● Page manager → Otras páginas
● Panelizer 3 o Display Suite 1 → View modes
● Panels everywhere → Marco de páginas
www.ateneatech.com
Usa
● Bloques
● Tokens
● Fieldable panels panes
● View content panes
www.ateneatech.com
Plug-ins
● Layouts
● Styles
● Cache
● Ctools Content Types
● Access Control
www.ateneatech.com
Ejemplo – Avanti PLC
● Web corporativa
● Septiembre de 2012
● http://avantiplc.com
www.ateneatech.com
Solución
● Panel nodes
● Fieldable panel panes
www.ateneatech.com
Problemas de Panels
● Genera mucho código HTML
– Haz tus propios Layouts y Styles
● DicenTM que reduce el rendimiento...
– ...no es Panels
– Haz tus propios plug-ins de Cache
www.ateneatech.com
Conclusiones
Blocks
Complejidad
Baja
Context
Baja
Panels
Alta
Múltiples
disposiciones
No, regiones que
colapsan
Si, de página
Si, de página,
bloque, entidad,
view mode...
Bloque:Región
1:1
1:Contexto
1:N
Visibilidad de
bloque
Limitado
Medio, ampliable
Alto, ampliable
www.ateneatech.com
Drupal 8
● Layouts initiative
● http://drupal.org/community-initiatives/drupal-
core#layouts
www.ateneatech.com
¿Preguntas?
[email protected]
@luisortizramos
www.ateneatech.com
Comentarios de: Drupal: context vs panels (0)
No hay comentarios