SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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!SergioIglesiasNET
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jqueryAngelDX
 
Html5 telefonica-curso
Html5 telefonica-cursoHtml5 telefonica-curso
Html5 telefonica-cursoJuan Quemada
 
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
 
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 2011Hernan Beati
 
Tutorial de dreamweaver
Tutorial de dreamweaverTutorial de dreamweaver
Tutorial de dreamweaverArmandoC42
 
Seminario html5
Seminario html5Seminario html5
Seminario html5UDECI
 
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 AWGRvalgreens
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryDavid Arango
 
Tutorial de uso Drupal Gardens
Tutorial de uso Drupal Gardens Tutorial de uso Drupal Gardens
Tutorial de uso Drupal Gardens wikisaber
 

Mais procurados (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
 

Destaque

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 bestJames Abela
 
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
 
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 usersPayPal
 
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-2011Experiencia Trading
 
Colegio superior san martín
Colegio superior san martínColegio superior san martín
Colegio superior san martínSHIRLEYMICAELA
 
Entrepreneurial Engineering
Entrepreneurial EngineeringEntrepreneurial Engineering
Entrepreneurial Engineeringbdonaldson
 
Booz Allen Hamilton Facebook Contest Rules
Booz Allen Hamilton Facebook Contest RulesBooz Allen Hamilton Facebook Contest Rules
Booz Allen Hamilton Facebook Contest RulesBooz Allen Hamilton
 
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...Rosane Domingues
 
TED Ed Lessons
TED Ed Lessons TED Ed Lessons
TED Ed Lessons John Allan
 
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で簡単iotHideaki Tokida
 
les aventures de Bib
les aventures de Bibles aventures de Bib
les aventures de Bibhhs
 
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édZoltan Varju
 
Maigret et le Clochard
Maigret et le ClochardMaigret et le Clochard
Maigret et le Clochardhhs
 

Destaque (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
 

Semelhante a Display Suite: la solución para personalizar Drupal sin programar

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 2021lissette_torrealba
 
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 frontendmenttes
 
Meetup Wordpress Zaragoza - David Ayala
Meetup Wordpress Zaragoza - David AyalaMeetup Wordpress Zaragoza - David Ayala
Meetup Wordpress Zaragoza - David AyalaDavid Ayala Gil
 
CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010Comunidad SharePoint
 
Tutorial3 Desymfony - La Vista. Twig
Tutorial3 Desymfony - La Vista. TwigTutorial3 Desymfony - La Vista. Twig
Tutorial3 Desymfony - La Vista. TwigMarcos Labad
 
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.Juan Manuel
 
Novedades de aries
Novedades de ariesNovedades de aries
Novedades de arieslmrv
 
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 2009ferranbonas
 
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 SEODavid Ayala Gil
 
Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......Programación_del_lado_del_servidor......
Programación_del_lado_del_servidor......SaulSalinasNeri
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojubacalo
 

Semelhante a Display Suite: la solución para personalizar Drupal sin programar (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
 

Mais de Atenea tech

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 2018Atenea tech
 
Layout discovery. Drupal Summer Barcelona 2017
Layout discovery. Drupal Summer Barcelona 2017Layout discovery. Drupal Summer Barcelona 2017
Layout discovery. Drupal Summer Barcelona 2017Atenea tech
 
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 8Atenea tech
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8Atenea tech
 
Extreme page composition with paragraphs
Extreme page composition with paragraphsExtreme page composition with paragraphs
Extreme page composition with paragraphsAtenea tech
 
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 paragraphsAtenea tech
 
¿Qué es drupal?
¿Qué es drupal? ¿Qué es drupal?
¿Qué es drupal? Atenea tech
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8Atenea tech
 
Cultura empresarial, Open Source y Drupal
Cultura empresarial, Open Source y DrupalCultura empresarial, Open Source y Drupal
Cultura empresarial, Open Source y DrupalAtenea tech
 
Formularios en Drupal 8
Formularios en Drupal 8Formularios en Drupal 8
Formularios en Drupal 8Atenea tech
 
Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8Atenea tech
 
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 2014Atenea tech
 
É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 ...Atenea tech
 
Drupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòdulsDrupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòdulsAtenea tech
 
Drupal: Posada en Funcionament
Drupal: Posada en FuncionamentDrupal: Posada en Funcionament
Drupal: Posada en FuncionamentAtenea tech
 
Introducció a Drupal
Introducció a DrupalIntroducció a Drupal
Introducció a DrupalAtenea tech
 
Context vs panels
Context vs panelsContext vs panels
Context vs panelsAtenea tech
 

Mais de 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
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
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 JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (15)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
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
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Display Suite: la solución para personalizar Drupal sin programar

  • 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