SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Display Suite
Luis Ortiz Ramos


28/04/2012
Drupal Day Valencia 2012




                           www.ateneatech.com
¿Quién soy?

 Luis Ortiz Ramos
   @luisortizramos en Twitter
   luis@ateneatech.com
   Cofundador d'Atenea tech




                                www.ateneatech.com
“Drupal y eliminar el intermediario”
    Dries Buytaert, Abril de 2007




                               www.ateneatech.com
“Creo que hay un gran valor en perfeccionar las
 tecnologías que se han creado para eliminar al
webmaster, al desarrollador/programador y al
 diseñador. De esto es de lo que trata Drupal.”




                                    www.ateneatech.com
Views, Token, Pathauto, Chaos tool suite (ctools), Content Construction Kit (CCK), Administration
     menu, Wysiwyg, Date, IMCE, FileField, Google Analytics, ImageAPI, Webform, ImageField,
      ImageCache, Link, Advanced help, CAPTCHA, Backup and Migrate, jQuery UI, CKEditor -
 WYSIWYG HTML editor, Panels, jQuery Update, XML sitemap, Poormanscron, Lightbox2, Libraries
  API, IMCE Wysiwyg bridge, Devel, Nodewords: D6 Meta Tags, Views Slideshow, Global Redirect,
     Transliteration, Page Title, Image, Rules, Zen, Entity API, Calendar, Menu block, Voting API,
  Features, Email Field, Nice Menus, Internationalization, Site map, Views Bulk Operations (VBO),
   Colorbox, Printer, e-mail and PDF versions, Path redirect, FCKeditor - WYSIWYG HTML editor,
     Context, LoginToboggan, Automatic Nodetitles, Fivestar, Ubercart, Better Formats, Location,
     Embedded Media Field, Localization update, Content Profile, GMap Module, External Links,
  Simplenews, Mollom, Vertical Tabs, Media, Taxonomy menu, Content Access, Tagadelic, Content
 Templates (Contemplate), Admin, ImageCache Actions, Admin role, References, Skinr, Mime Mail,
      Scheduler, Insert, Fusion, Media: YouTube, Taxonomy Manager, Content Taxonomy, Menu
Breadcrumb, Job Scheduler, Quick Tabs, reCAPTCHA, Diff, Strongarm, Node clone, SEO Checklist,
 Feeds, Custom breadcrumbs, jQuery plugins, Site verification, Superfish, Field group, Search 404,
 DHTML Menu, Privatemsg, ImageCache Profiles, SWF Tools, jCarousel, Flag, Views Bonus Pack,
  Views Custom Field, Organic groups, getID3(), File (Field) Paths, Variable, Nodequeue, Menu per
 Role, AdaptiveTheme, Advanced Forum, SMTP Authentication Support, Module Filter, Author Pane,
 Menu attributes, Login Destination, Frequently Asked Questions, IMCE Mkdir, Messaging, Marinelli,
  Thickbox, FileField Sources, Image Resize Filter, AddThis, Node Reference URL Widget, Twitter,
String Overrides, Display suite, Image Assist, Danland, Masquerade, Language icons, Service links,
 ACL, Notifications, Omega - Responsive HTML5 Base Theme, Secure Pages, Views attach, Share
  Buttons (AddToAny) by Lockerz, Computed Field, Front Page, Meta tags quick, Invite, Pathologic,
   Autoload, Redirect, Comment notify, Address Field, Hierarchical Select, Meta tags, Node export,
 Menu Trails, Dynamic display block, Boost, Block Class, Gallery Assist, Imagefield Crop, Advanced
 Profile Kit, Better Exposed Filters, AdSense, SpamSpan filter, Taxonomy Image, Video, Conditional
    Fields, Node import, Webform Validation, OAuth, Google chart API, Workflow, Services, Image
  FUpload, Custom Search, Tao, Tabs (jQuery UI tabs), Styles, Gallery formatter, Pixture Reloaded,
     Facebook social plugins integration, Acquia Marina, RealName, 404 Blocks, Multiple forms,
   BUEditor, CSS Injector, DraggableViews, Event, BlueMasters, CKEditor Link - A plugin to easily
                                                                               www.ateneatech.com
create links to Drupal internal paths, Search configuration, Views Accordion, Shadowbox, Javascript
  Tools, LDAP integration, HTML Purifier, Semantic Views, Localization client, Apache Solr Search
“Estamos haciendo fácil para todo el mundo
      construir sitios web potentes.”




                                 www.ateneatech.com
Sin Display Suite...


               www.ateneatech.com
No hay opciones para seleccionar la disposición.




                                     www.ateneatech.com
Ejemplo

Queremos cambiar la disposición de los nodos del tipos de
contenido “Artículo”


Solución: en el tema personalizado:
●   Copiar node.tpl.php en nuestro tema.
●   Duplicarlo y renombrarlo a node—article.tpl.php
●   Editar el PHP de este último archivo:
    ●   Incluir la nueva disposición
    ●   Pintar los campos donde toque



                                                      www.ateneatech.com
Los modos de visualización son fijos.




                                www.ateneatech.com
Ejemplo

Queremos tener un modo de visualización
personalizado que usaremos en una vista en la
página de inicio.


Solución: en un módulo propio:
●   Implementar hook_entity_info_alter()




                                       www.ateneatech.com
/**
* Implements hook_entity_info_alter().
*/
function
MODULO_entity_info_alter(&$entity_info) {
  $entity_info['node']['view modes']
['front_page_teaser'] = array(
          'label' => t('Front page teaser'),
          'custom settings' => TRUE,
     );
}




                                         www.ateneatech.com
No se pueden añadir elementos a la
          visualización.




                             www.ateneatech.com
Ejemplo

Queremos añadir un elemento que muestre
AddThis en los nodos de tipo “Artículo”.


Solución: en un módulo propio:
●   Implementar hook_field_extra_field() para
    definir el nuevo elemento.
●   Implementar hook_node_view() para pintar el
    nuevo elemento.

                                       www.ateneatech.com
/**
* Implements hook_field_extra_fields().
*/
function MODULO_field_extra_fields() {
     $extras['node']['article']['display']['addthis'] = array(
          'label' => t('AddThis'),
          'description' => t('AddThis'),
          'weight' => 0,
     );


     return $extras;
}


/**
* Implements hook_node_view().
*/
function MODUL_node_view($node, $view_mode, $langcode) {
     if ($node->type=='article') {
          $node->content['addthis'] = array('#markup' => 'EL CÓDIGO DE ADDTHIS');
     }
}
●


                                                                 www.ateneatech.com
No se puede determinar el HTML de los campos.




                                   www.ateneatech.com
Ejemplo

Queremos simplificar la salida del campo “Cuerpo” de los
nodos de tipo “Artículo”.


Solución “fácil”: en el tema personalizado:
●   Copiar field.tpl.php
●   Duplicar este archivo y renombrarlo a field—body—
    article.tpl.php
●   Editar el PHP de este último archivo para modificar el HTML del
    campo.



                                                    www.ateneatech.com
No se puede ocultar el título de las páginas.




                                    www.ateneatech.com
Ejemplo

Queremos ocultar el título de la página de los
contenidos del tipo “Artículo”


Solución: en el tema personalizado
●   Creamos un archivo llamado template.php
●   Implementamos theme_process_page()




                                       www.ateneatech.com
/**
 * Implements hook_process_page().
 */
function TEMA_process_page(&$vars) {
    if ($vars['node'] && $vars['node']->type=='article') {
        unset($vars['title']);
    }
}




                                                www.ateneatech.com
No se puede utilizar contenido de una entidad
       fuera del bloque del contenido.




                                    www.ateneatech.com
Ejemplo

Queremos mostrar el campo “Imagen” de los
nodos del tipo “Artículo” en la region
“Destacados”.


Solución: hacer una vista que muestre la imagen,
con un filtro contextual para el identificador del
nodo, que genere un bloque i ponerlo en la región
que toque.


                                       www.ateneatech.com
Resumen
●   No hay opciones para seleccionar la disposición.
●   Los modos de visualización son fijos.
●   No se pueden añadir elementos a la visualización.
●   No se puede determinar el HTML de los campos.
●   No se puede ocultar el título de las páginas.
●   No se puede utilizar contenido de una entidad fuera
    del bloque del contenido.




                                              www.ateneatech.com
Con Display Suite...


               www.ateneatech.com
●   Seleccionar la disposición → Layouts
●   Modos de visualización → View modes
●   Elementos a la visualización → Fields
●   Determinar el HTML de los campos → Fields display and
    Styles
●   Ocultar el título de las páginas → Page title options
●   Utilizar contenido de una entidad fuera del bloque del
    contenido → Region to block



                                 ¡Sin programar
                            una linea de código!
                                                  www.ateneatech.com
Demo




       www.ateneatech.com
One more thing...


             www.ateneatech.com
Crear un “layout” en nuestro tema

●   Creamos la estructura de archivos para el
    “layout”:

my_theme/ds_layouts/small_left_col/small_left_col.inc
                                 /small-left-col.tpl.php
                                 /small_left_col.css




                                              www.ateneatech.com
Crear un “layout” en nuestro tema

●    .inc describe el layout:
<?php
function ds_small_left_col() {
     return array(
          'label' => t('Small Left Column'),
          'regions' => array(
           'left' => t('Left'),
           ...
          ),
          'css' => TRUE, // Add this line if there is a default css file.
     );
}
?>


                                                                 www.ateneatech.com
Crear un “layout” en nuestro tema

●   .tpl.php describe el HTML:

<div class="<?php print $classes;?> clearfix">


    <?php if (isset($title_suffix['contextual_links'])): ?>
    <?php print render($title_suffix['contextual_links']); ?>
    <?php endif; ?>


    <?php if ($left): ?>
     <div class="ds-left<?php print $left_classes; ?>">
          <?php print $left; ?>
     </div>
    <?php endif; ?>


    ...
</div>



                                                                www.ateneatech.com
Crear un “layout” en nuestro tema

●   .css el estilo (y es opcional):

.ds-left {
    width: 20%;
    float: left;
}


.ds-right {
    width: 80%;
    float: right;
}


                                      www.ateneatech.com
Crear un “layout” en nuestro tema

●   .tpl.php describe el HTML:

<div class="<?php print $classes;?> clearfix">


    <?php if (isset($title_suffix['contextual_links'])): ?>
    <?php print render($title_suffix['contextual_links']); ?>
    <?php endif; ?>


    <?php if ($left): ?>
     <div class="ds-left<?php print $left_classes; ?>">
          <?php print $left; ?>
     </div>
    <?php endif; ?>


    ...
</div>



                                                                www.ateneatech.com
¿Preguntas?


          www.ateneatech.com

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Vistiendo a WordPress
Vistiendo a WordPressVistiendo a WordPress
Vistiendo a WordPress
 
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
 
Html+css 2013
Html+css 2013Html+css 2013
Html+css 2013
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jquery
 
Ria 03-html5-css3
Ria 03-html5-css3Ria 03-html5-css3
Ria 03-html5-css3
 
Semana 3 Maquetación CSS
Semana 3   Maquetación CSSSemana 3   Maquetación CSS
Semana 3 Maquetación CSS
 
Html5 telefonica-curso
Html5 telefonica-cursoHtml5 telefonica-curso
Html5 telefonica-curso
 
Manual de introducción a CSS3
Manual de introducción a CSS3Manual de introducción a CSS3
Manual de introducción a CSS3
 
HTML5 y CSS3
HTML5 y CSS3HTML5 y CSS3
HTML5 y CSS3
 
Curso HTML 5 - Módulo 1
Curso HTML 5 - Módulo 1Curso HTML 5 - Módulo 1
Curso HTML 5 - Módulo 1
 
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
 
Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011
 
HTML5 y CSS3 ¿Imprescindibles?
HTML5 y CSS3 ¿Imprescindibles?HTML5 y CSS3 ¿Imprescindibles?
HTML5 y CSS3 ¿Imprescindibles?
 
Tutorial de dreamweaver
Tutorial de dreamweaverTutorial de dreamweaver
Tutorial de dreamweaver
 
Seminario html5
Seminario html5Seminario html5
Seminario html5
 
Diseño web
Diseño webDiseño web
Diseño web
 
Aplicaciones móviles - HTML5
Aplicaciones móviles - HTML5Aplicaciones móviles - HTML5
Aplicaciones móviles - HTML5
 
Introducción a HTML5 y CSS3 AWGR
Introducción a HTML5 y CSS3 AWGRIntroducción a HTML5 y CSS3 AWGR
Introducción a HTML5 y CSS3 AWGR
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
Tutorial de uso Drupal Gardens
Tutorial de uso Drupal Gardens Tutorial de uso Drupal Gardens
Tutorial de uso Drupal Gardens
 

Andere mochten auch

3 d pie chart circular puzzle with hole in center process stages 11 style 3 p...
3 d pie chart circular puzzle with hole in center process stages 11 style 3 p...3 d pie chart circular puzzle with hole in center process stages 11 style 3 p...
3 d pie chart circular puzzle with hole in center process stages 11 style 3 p...
SlideTeam.net
 
Grafico diario del dax perfomance index para el 07 10-2011
Grafico diario del dax perfomance index para el 07 10-2011Grafico diario del dax perfomance index para el 07 10-2011
Grafico diario del dax perfomance index para el 07 10-2011
Experiencia Trading
 
Colegio superior san martín
Colegio superior san martínColegio superior san martín
Colegio superior san martín
SHIRLEYMICAELA
 
les aventures de Bib
les aventures de Bibles aventures de Bib
les aventures de Bib
hhs
 
Balogh Kitti - Szűcs Krisztina: Képes beszéd
Balogh Kitti - Szűcs Krisztina: Képes beszédBalogh Kitti - Szűcs Krisztina: Képes beszéd
Balogh Kitti - Szűcs Krisztina: Képes beszéd
Zoltan Varju
 

Andere mochten auch (16)

Automated Marking - Formative Assessment at its best
Automated Marking - Formative Assessment at its bestAutomated Marking - Formative Assessment at its best
Automated Marking - Formative Assessment at its best
 
3 d pie chart circular puzzle with hole in center process stages 11 style 3 p...
3 d pie chart circular puzzle with hole in center process stages 11 style 3 p...3 d pie chart circular puzzle with hole in center process stages 11 style 3 p...
3 d pie chart circular puzzle with hole in center process stages 11 style 3 p...
 
Concrete indentity really getting to know your users
Concrete indentity   really getting to know your usersConcrete indentity   really getting to know your users
Concrete indentity really getting to know your users
 
Grafico diario del dax perfomance index para el 07 10-2011
Grafico diario del dax perfomance index para el 07 10-2011Grafico diario del dax perfomance index para el 07 10-2011
Grafico diario del dax perfomance index para el 07 10-2011
 
Colegio superior san martín
Colegio superior san martínColegio superior san martín
Colegio superior san martín
 
Entrepreneurial Engineering
Entrepreneurial EngineeringEntrepreneurial Engineering
Entrepreneurial Engineering
 
Booz Allen Hamilton Facebook Contest Rules
Booz Allen Hamilton Facebook Contest RulesBooz Allen Hamilton Facebook Contest Rules
Booz Allen Hamilton Facebook Contest Rules
 
Saberes e Práticas da Inclusão - Dificuldades Acentuadas de Aprendizagem - Au...
Saberes e Práticas da Inclusão - Dificuldades Acentuadas de Aprendizagem - Au...Saberes e Práticas da Inclusão - Dificuldades Acentuadas de Aprendizagem - Au...
Saberes e Práticas da Inclusão - Dificuldades Acentuadas de Aprendizagem - Au...
 
TED Ed Lessons
TED Ed Lessons TED Ed Lessons
TED Ed Lessons
 
Soracom dev conf_soracom beamとbluemixで簡単iot
Soracom dev conf_soracom beamとbluemixで簡単iotSoracom dev conf_soracom beamとbluemixで簡単iot
Soracom dev conf_soracom beamとbluemixで簡単iot
 
les aventures de Bib
les aventures de Bibles aventures de Bib
les aventures de Bib
 
Balogh Kitti - Szűcs Krisztina: Képes beszéd
Balogh Kitti - Szűcs Krisztina: Képes beszédBalogh Kitti - Szűcs Krisztina: Képes beszéd
Balogh Kitti - Szűcs Krisztina: Képes beszéd
 
Healthcare Digital Marketing ROI: Boost It With Infograph Sharing - John G. ...
Healthcare Digital Marketing ROI:  Boost It With Infograph Sharing - John G. ...Healthcare Digital Marketing ROI:  Boost It With Infograph Sharing - John G. ...
Healthcare Digital Marketing ROI: Boost It With Infograph Sharing - John G. ...
 
Maigret et le Clochard
Maigret et le ClochardMaigret et le Clochard
Maigret et le Clochard
 
Este embarazo pica mucho
Este embarazo pica muchoEste embarazo pica mucho
Este embarazo pica mucho
 
Presentación A1
Presentación A1Presentación A1
Presentación A1
 

Ähnlich wie Presentación sobre Display Suite en el Drupal Day Valencia 2012

Novedades de aries
Novedades de ariesNovedades de aries
Novedades de aries
lmrv
 
Programación Optimizada - Search Congress Valencia 2009
Programación Optimizada - Search Congress Valencia 2009Programación Optimizada - Search Congress Valencia 2009
Programación Optimizada - Search Congress Valencia 2009
ferranbonas
 

Ähnlich wie Presentación sobre Display Suite en el Drupal Day Valencia 2012 (20)

Guía Practica conexión BD 2021
Guía Practica conexión BD  2021Guía Practica conexión BD  2021
Guía Practica conexión BD 2021
 
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
 
Magento Best Practices
Magento Best PracticesMagento Best Practices
Magento Best Practices
 
Dce2 ejercicios asp.net
Dce2 ejercicios asp.netDce2 ejercicios asp.net
Dce2 ejercicios asp.net
 
Meetup Wordpress Zaragoza - David Ayala
Meetup Wordpress Zaragoza - David AyalaMeetup Wordpress Zaragoza - David Ayala
Meetup Wordpress Zaragoza - David Ayala
 
Diseño web
Diseño webDiseño web
Diseño web
 
Diseño web
Diseño webDiseño web
Diseño web
 
Diseño web
Diseño webDiseño web
Diseño web
 
CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010
 
Tutorial3 Desymfony - La Vista. Twig
Tutorial3 Desymfony - La Vista. TwigTutorial3 Desymfony - La Vista. Twig
Tutorial3 Desymfony - La Vista. Twig
 
Clase 12 jQuery basico
Clase 12  jQuery basicoClase 12  jQuery basico
Clase 12 jQuery basico
 
Novedades de aries
Novedades de ariesNovedades de aries
Novedades de aries
 
Guia4 html
Guia4 htmlGuia4 html
Guia4 html
 
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
 
Novedades de aries
Novedades de ariesNovedades de aries
Novedades de aries
 
Programación Optimizada - Search Congress Valencia 2009
Programación Optimizada - Search Congress Valencia 2009Programación Optimizada - Search Congress Valencia 2009
Programación Optimizada - Search Congress Valencia 2009
 
Wordcamp España Online - Menos plugins y más optimización SEO
Wordcamp España Online - Menos plugins y más optimización SEOWordcamp España Online - Menos plugins y más optimización SEO
Wordcamp España Online - Menos plugins y más optimización SEO
 
Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogo
 
Portal web basico
Portal web basicoPortal web basico
Portal web basico
 

Mehr von Atenea tech

Formularios en Drupal 8
Formularios en Drupal 8Formularios en Drupal 8
Formularios en Drupal 8
Atenea tech
 
Introducció a Drupal
Introducció a DrupalIntroducció a Drupal
Introducció a Drupal
Atenea tech
 

Mehr von Atenea tech (20)

Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018
Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018
Qué he aprendido durante 10 años vendiendo Drupal - DrupalCamp Spain 2018
 
Layout discovery. Drupal Summer Barcelona 2017
Layout discovery. Drupal Summer Barcelona 2017Layout discovery. Drupal Summer Barcelona 2017
Layout discovery. Drupal Summer Barcelona 2017
 
Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8
Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8
Casos de éxito con Drupal. Eada: escuela de negocios con drupal 8
 
Let’s encrypt
Let’s encryptLet’s encrypt
Let’s encrypt
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8
 
Extreme page composition with paragraphs
Extreme page composition with paragraphsExtreme page composition with paragraphs
Extreme page composition with paragraphs
 
Composición de páginas complejas con paragraphs
Composición de páginas complejas con paragraphsComposición de páginas complejas con paragraphs
Composición de páginas complejas con paragraphs
 
Cmi en drupal 8
Cmi en drupal 8Cmi en drupal 8
Cmi en drupal 8
 
¿Qué es drupal?
¿Qué es drupal? ¿Qué es drupal?
¿Qué es drupal?
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8
 
Cultura empresarial, Open Source y Drupal
Cultura empresarial, Open Source y DrupalCultura empresarial, Open Source y Drupal
Cultura empresarial, Open Source y Drupal
 
Formularios en Drupal 8
Formularios en Drupal 8Formularios en Drupal 8
Formularios en Drupal 8
 
Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8
 
Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014
Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014
Contratos y presupuestos en proyectos Drupal - Drupal Camp Spain 2014
 
Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...
Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...
Éxitos y desastrosas experiencias con el agilismo en la gestión de proyectos ...
 
Drupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòdulsDrupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòduls
 
Drupal: Posada en Funcionament
Drupal: Posada en FuncionamentDrupal: Posada en Funcionament
Drupal: Posada en Funcionament
 
Introducció a Drupal
Introducció a DrupalIntroducció a Drupal
Introducció a Drupal
 
Context vs panels
Context vs panelsContext vs panels
Context vs panels
 
Xarxes socials
Xarxes socialsXarxes socials
Xarxes socials
 

Kürzlich hochgeladen

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Kürzlich hochgeladen (12)

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
 
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
 
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
 
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...
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
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.
 
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
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Presentación sobre Display Suite en el Drupal Day Valencia 2012

  • 1. Display Suite Luis Ortiz Ramos 28/04/2012 Drupal Day Valencia 2012 www.ateneatech.com
  • 2. ¿Quién soy? Luis Ortiz Ramos @luisortizramos en Twitter luis@ateneatech.com Cofundador d'Atenea tech www.ateneatech.com
  • 3. “Drupal y eliminar el intermediario” Dries Buytaert, Abril de 2007 www.ateneatech.com
  • 4. “Creo que hay un gran valor en perfeccionar las tecnologías que se han creado para eliminar al webmaster, al desarrollador/programador y al diseñador. De esto es de lo que trata Drupal.” www.ateneatech.com
  • 5. Views, Token, Pathauto, Chaos tool suite (ctools), Content Construction Kit (CCK), Administration menu, Wysiwyg, Date, IMCE, FileField, Google Analytics, ImageAPI, Webform, ImageField, ImageCache, Link, Advanced help, CAPTCHA, Backup and Migrate, jQuery UI, CKEditor - WYSIWYG HTML editor, Panels, jQuery Update, XML sitemap, Poormanscron, Lightbox2, Libraries API, IMCE Wysiwyg bridge, Devel, Nodewords: D6 Meta Tags, Views Slideshow, Global Redirect, Transliteration, Page Title, Image, Rules, Zen, Entity API, Calendar, Menu block, Voting API, Features, Email Field, Nice Menus, Internationalization, Site map, Views Bulk Operations (VBO), Colorbox, Printer, e-mail and PDF versions, Path redirect, FCKeditor - WYSIWYG HTML editor, Context, LoginToboggan, Automatic Nodetitles, Fivestar, Ubercart, Better Formats, Location, Embedded Media Field, Localization update, Content Profile, GMap Module, External Links, Simplenews, Mollom, Vertical Tabs, Media, Taxonomy menu, Content Access, Tagadelic, Content Templates (Contemplate), Admin, ImageCache Actions, Admin role, References, Skinr, Mime Mail, Scheduler, Insert, Fusion, Media: YouTube, Taxonomy Manager, Content Taxonomy, Menu Breadcrumb, Job Scheduler, Quick Tabs, reCAPTCHA, Diff, Strongarm, Node clone, SEO Checklist, Feeds, Custom breadcrumbs, jQuery plugins, Site verification, Superfish, Field group, Search 404, DHTML Menu, Privatemsg, ImageCache Profiles, SWF Tools, jCarousel, Flag, Views Bonus Pack, Views Custom Field, Organic groups, getID3(), File (Field) Paths, Variable, Nodequeue, Menu per Role, AdaptiveTheme, Advanced Forum, SMTP Authentication Support, Module Filter, Author Pane, Menu attributes, Login Destination, Frequently Asked Questions, IMCE Mkdir, Messaging, Marinelli, Thickbox, FileField Sources, Image Resize Filter, AddThis, Node Reference URL Widget, Twitter, String Overrides, Display suite, Image Assist, Danland, Masquerade, Language icons, Service links, ACL, Notifications, Omega - Responsive HTML5 Base Theme, Secure Pages, Views attach, Share Buttons (AddToAny) by Lockerz, Computed Field, Front Page, Meta tags quick, Invite, Pathologic, Autoload, Redirect, Comment notify, Address Field, Hierarchical Select, Meta tags, Node export, Menu Trails, Dynamic display block, Boost, Block Class, Gallery Assist, Imagefield Crop, Advanced Profile Kit, Better Exposed Filters, AdSense, SpamSpan filter, Taxonomy Image, Video, Conditional Fields, Node import, Webform Validation, OAuth, Google chart API, Workflow, Services, Image FUpload, Custom Search, Tao, Tabs (jQuery UI tabs), Styles, Gallery formatter, Pixture Reloaded, Facebook social plugins integration, Acquia Marina, RealName, 404 Blocks, Multiple forms, BUEditor, CSS Injector, DraggableViews, Event, BlueMasters, CKEditor Link - A plugin to easily www.ateneatech.com create links to Drupal internal paths, Search configuration, Views Accordion, Shadowbox, Javascript Tools, LDAP integration, HTML Purifier, Semantic Views, Localization client, Apache Solr Search
  • 6. “Estamos haciendo fácil para todo el mundo construir sitios web potentes.” www.ateneatech.com
  • 7. Sin Display Suite... www.ateneatech.com
  • 8.
  • 9. No hay opciones para seleccionar la disposición. www.ateneatech.com
  • 10. Ejemplo Queremos cambiar la disposición de los nodos del tipos de contenido “Artículo” Solución: en el tema personalizado: ● Copiar node.tpl.php en nuestro tema. ● Duplicarlo y renombrarlo a node—article.tpl.php ● Editar el PHP de este último archivo: ● Incluir la nueva disposición ● Pintar los campos donde toque www.ateneatech.com
  • 11. Los modos de visualización son fijos. www.ateneatech.com
  • 12. Ejemplo Queremos tener un modo de visualización personalizado que usaremos en una vista en la página de inicio. Solución: en un módulo propio: ● Implementar hook_entity_info_alter() www.ateneatech.com
  • 13. /** * Implements hook_entity_info_alter(). */ function MODULO_entity_info_alter(&$entity_info) { $entity_info['node']['view modes'] ['front_page_teaser'] = array( 'label' => t('Front page teaser'), 'custom settings' => TRUE, ); } www.ateneatech.com
  • 14. No se pueden añadir elementos a la visualización. www.ateneatech.com
  • 15. Ejemplo Queremos añadir un elemento que muestre AddThis en los nodos de tipo “Artículo”. Solución: en un módulo propio: ● Implementar hook_field_extra_field() para definir el nuevo elemento. ● Implementar hook_node_view() para pintar el nuevo elemento. www.ateneatech.com
  • 16. /** * Implements hook_field_extra_fields(). */ function MODULO_field_extra_fields() { $extras['node']['article']['display']['addthis'] = array( 'label' => t('AddThis'), 'description' => t('AddThis'), 'weight' => 0, ); return $extras; } /** * Implements hook_node_view(). */ function MODUL_node_view($node, $view_mode, $langcode) { if ($node->type=='article') { $node->content['addthis'] = array('#markup' => 'EL CÓDIGO DE ADDTHIS'); } } ● www.ateneatech.com
  • 17. No se puede determinar el HTML de los campos. www.ateneatech.com
  • 18. Ejemplo Queremos simplificar la salida del campo “Cuerpo” de los nodos de tipo “Artículo”. Solución “fácil”: en el tema personalizado: ● Copiar field.tpl.php ● Duplicar este archivo y renombrarlo a field—body— article.tpl.php ● Editar el PHP de este último archivo para modificar el HTML del campo. www.ateneatech.com
  • 19. No se puede ocultar el título de las páginas. www.ateneatech.com
  • 20. Ejemplo Queremos ocultar el título de la página de los contenidos del tipo “Artículo” Solución: en el tema personalizado ● Creamos un archivo llamado template.php ● Implementamos theme_process_page() www.ateneatech.com
  • 21. /** * Implements hook_process_page(). */ function TEMA_process_page(&$vars) { if ($vars['node'] && $vars['node']->type=='article') { unset($vars['title']); } } www.ateneatech.com
  • 22. No se puede utilizar contenido de una entidad fuera del bloque del contenido. www.ateneatech.com
  • 23. Ejemplo Queremos mostrar el campo “Imagen” de los nodos del tipo “Artículo” en la region “Destacados”. Solución: hacer una vista que muestre la imagen, con un filtro contextual para el identificador del nodo, que genere un bloque i ponerlo en la región que toque. www.ateneatech.com
  • 24. Resumen ● No hay opciones para seleccionar la disposición. ● Los modos de visualización son fijos. ● No se pueden añadir elementos a la visualización. ● No se puede determinar el HTML de los campos. ● No se puede ocultar el título de las páginas. ● No se puede utilizar contenido de una entidad fuera del bloque del contenido. www.ateneatech.com
  • 25. Con Display Suite... www.ateneatech.com
  • 26. Seleccionar la disposición → Layouts ● Modos de visualización → View modes ● Elementos a la visualización → Fields ● Determinar el HTML de los campos → Fields display and Styles ● Ocultar el título de las páginas → Page title options ● Utilizar contenido de una entidad fuera del bloque del contenido → Region to block ¡Sin programar una linea de código! www.ateneatech.com
  • 27. Demo www.ateneatech.com
  • 28. One more thing... www.ateneatech.com
  • 29. Crear un “layout” en nuestro tema ● Creamos la estructura de archivos para el “layout”: my_theme/ds_layouts/small_left_col/small_left_col.inc /small-left-col.tpl.php /small_left_col.css www.ateneatech.com
  • 30. Crear un “layout” en nuestro tema ● .inc describe el layout: <?php function ds_small_left_col() { return array( 'label' => t('Small Left Column'), 'regions' => array( 'left' => t('Left'), ... ), 'css' => TRUE, // Add this line if there is a default css file. ); } ?> www.ateneatech.com
  • 31. Crear un “layout” en nuestro tema ● .tpl.php describe el HTML: <div class="<?php print $classes;?> clearfix"> <?php if (isset($title_suffix['contextual_links'])): ?> <?php print render($title_suffix['contextual_links']); ?> <?php endif; ?> <?php if ($left): ?> <div class="ds-left<?php print $left_classes; ?>"> <?php print $left; ?> </div> <?php endif; ?> ... </div> www.ateneatech.com
  • 32. Crear un “layout” en nuestro tema ● .css el estilo (y es opcional): .ds-left { width: 20%; float: left; } .ds-right { width: 80%; float: right; } www.ateneatech.com
  • 33. Crear un “layout” en nuestro tema ● .tpl.php describe el HTML: <div class="<?php print $classes;?> clearfix"> <?php if (isset($title_suffix['contextual_links'])): ?> <?php print render($title_suffix['contextual_links']); ?> <?php endif; ?> <?php if ($left): ?> <div class="ds-left<?php print $left_classes; ?>"> <?php print $left; ?> </div> <?php endif; ?> ... </div> www.ateneatech.com
  • 34. ¿Preguntas? www.ateneatech.com