SlideShare a Scribd company logo
Display Suite
Luis Ortiz Ramos


9/02/2012
Drupal.cat




                   www.ateneatech.com
Qui soc

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




                                www.ateneatech.com
“Drupal i eliminar l'intermediari”
  Dries Buytaert, Abril de 2007




                              www.ateneatech.com
“Crec que hi ha un gran valor en perfeccionar les
  tecnologies que es varen crear per eliminar al
       webmaster, al desenvolupador, i al
   disenyador. D'això és del que tracta 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
“... estem fent fàcil per a tothom construir llocs
                  web potents.”




                                       www.ateneatech.com
Sense Display Suite :(


                 www.ateneatech.com
Display suite - Drupal.cat
No hi ha opcions per a seleccionar la disposició.




                                      www.ateneatech.com
Exemple

Volem canviar la disposició dels nodes d'un tipus de contingut
“article”


Solució: al tema personalitzat:
●   Copiar node.tpl.php al nostre tema.
●   Duplicar-lo i renombrar-lo a node—article.tpl.php.
●   Editar el PHP d'aquest últim arxiu:
    ●   Incloure la nova disposició
    ●   Pintar els camps on toqui



                                                     www.ateneatech.com
Els modes de visualització són fixos.




                                www.ateneatech.com
Exemple

Volem fer un mode de visualització per fer servir
en una vista amb resums especials a la pàgina
d'inici.


Solució: a un mòdul propi:
●   Implementar hook_entity_info_alter()




                                       www.ateneatech.com
/**
* Implements hook_entity_info_alter().
*/
function
MODUL_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 es poden afegir elements a la visualització.




                                     www.ateneatech.com
Exemple

Volem un element que mostri AddThis als articles


Solució: a un mòdul propi:
●   Implementar hook_field_extra_field() per a
    definir el nou element.
●   Implementar hook_node_view() per a pintar
    l'element.



                                        www.ateneatech.com
/**
* Implements hook_field_extra_fields().
*/
function MODUL_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 CODI HTML QUE DONA
ADDTHIS...');
     }
}
●



                                                                 www.ateneatech.com
No es pot determinar la sortida HTML dels camps.




                                     www.ateneatech.com
Exemple

Volem simplificar la sortida del camp Cos dels Articles


Solució “fàcil”: al tema personalitzat:
●   Copiar field.tpl.php
●   Duplicar aquest arxiu i li diem field—body—article.tpl.php
●   Editar el PHP d'aquest arxiu per a modificar la sortida del
    camp.




                                                  www.ateneatech.com
No és possible ocultar el títol de les pàgines.




                                      www.ateneatech.com
Exemple

Volem ocultar el títol de la pàgina dels continguts
de tipus “Pàgina bàsica”


Solució: al tema personalitzat
●   Creem un arxiu anomenat template.php
●   Implementem theme_process_page()




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




                                                www.ateneatech.com
No és possible fer servir contingut d'una entitat
   fora del bloc de contingut ni a l'inrevés.




                                      www.ateneatech.com
Exemple

Volem mostrar el valor del camp 'icona' de l'article
a la barra lateral.


Solució: fer una vista que mostri la icona, rebi
com a filtre contextual l'identificador del node i
generi un bloc, col·locar-lo a la barra lateral i
configurar-lo per a que només es vegi quan
estem a la pàgina d'un article.


                                          www.ateneatech.com
Resum
●   No hi ha opcions per a seleccionar la disposició.
●   Els modes de visualització son fixos.
●   No es poden afegir elements a la visualització.
●   No es pot determinar la sortida HTML dels
    camps.
●   No és possible ocultar el títol de les pàgines.
●   No és possible fer servir contingut d'una entitat
    fora del bloc de contingut ni a l'inrevés.

                                            www.ateneatech.com
Amb Display Suite :)


                www.ateneatech.com
Demo




       www.ateneatech.com

More Related Content

Similar to Display suite - Drupal.cat

Programació Web - PAC 4 correcció - Multimèdia (UOC) - Paquita Ribas
Programació  Web - PAC 4 correcció - Multimèdia (UOC) - Paquita RibasProgramació  Web - PAC 4 correcció - Multimèdia (UOC) - Paquita Ribas
Programació Web - PAC 4 correcció - Multimèdia (UOC) - Paquita Ribas
Paquita Ribas
 
SIGT09 Introducció Joomla
SIGT09 Introducció JoomlaSIGT09 Introducció Joomla
SIGT09 Introducció Joomla
Alex Araujo
 
Turbo Gears, Framework De Python Per Aplicacions Web
Turbo Gears, Framework De Python Per Aplicacions WebTurbo Gears, Framework De Python Per Aplicacions Web
Turbo Gears, Framework De Python Per Aplicacions Web
Tomàs Reverter
 
Curs de Wordpress avançat
Curs de Wordpress avançatCurs de Wordpress avançat
Curs de Wordpress avançat
Montserrat Peñarroya
 
Tutorial blogger
Tutorial blogger Tutorial blogger
Tutorial blogger
nmoradell
 
Css v2
Css v2Css v2
ELISAVA Beta. Cas d'èxit desenvolupat per Ymbra
ELISAVA Beta. Cas d'èxit desenvolupat per YmbraELISAVA Beta. Cas d'èxit desenvolupat per Ymbra
ELISAVA Beta. Cas d'èxit desenvolupat per Ymbra
Ymbra
 
Eines per a la millora i el manteniment de webs
Eines per a la millora i el manteniment de websEines per a la millora i el manteniment de webs
Eines per a la millora i el manteniment de webs
La Borrassa rural lab
 
Drupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòdulsDrupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòduls
Atenea tech
 
Seo Drupal
Seo DrupalSeo Drupal
Seo Drupal
drauta
 
Formació metodologia amb WordPress 2
Formació metodologia amb WordPress 2Formació metodologia amb WordPress 2
Formació metodologia amb WordPress 2
Fundación Esplai
 
Programació Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Programació  Web - PAC 2 correcció - Multimèdia (UOC) - Paquita RibasProgramació  Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Programació Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Paquita Ribas
 
Introducció a Theming amb Drupal 7
Introducció a Theming amb Drupal 7Introducció a Theming amb Drupal 7
Introducció a Theming amb Drupal 7
Pakman Lh
 
Arquitectura de la Información - Pac03 - Lidia Bria
Arquitectura de la Información - Pac03 -  Lidia BriaArquitectura de la Información - Pac03 -  Lidia Bria
Arquitectura de la Información - Pac03 - Lidia Bria
Lidia Bria
 
Nodes
Nodes  Nodes
Presentació de Magento
Presentació de MagentoPresentació de Magento
Presentació de Magento
Roger Casadejús Pérez
 
Creació d'un lloc web turístic utilitzant Wordpress
Creació d'un lloc web turístic utilitzant WordpressCreació d'un lloc web turístic utilitzant Wordpress
Creació d'un lloc web turístic utilitzant Wordpress
Montserrat Peñarroya
 
5.1.Disseny i aspecte estètic
5.1.Disseny i aspecte estètic5.1.Disseny i aspecte estètic
5.1.Disseny i aspecte estètic
mnicolau
 
Taller d'introducciò a WordPress.org
Taller d'introducciò a WordPress.orgTaller d'introducciò a WordPress.org
Taller d'introducciò a WordPress.org
Empresa i Emprenedoria Granollers
 
Programació Web - PAC 4 - Multimèdia (UOC) - Paquita Ribas
Programació  Web - PAC 4 - Multimèdia (UOC) - Paquita RibasProgramació  Web - PAC 4 - Multimèdia (UOC) - Paquita Ribas
Programació Web - PAC 4 - Multimèdia (UOC) - Paquita Ribas
Paquita Ribas
 

Similar to Display suite - Drupal.cat (20)

Programació Web - PAC 4 correcció - Multimèdia (UOC) - Paquita Ribas
Programació  Web - PAC 4 correcció - Multimèdia (UOC) - Paquita RibasProgramació  Web - PAC 4 correcció - Multimèdia (UOC) - Paquita Ribas
Programació Web - PAC 4 correcció - Multimèdia (UOC) - Paquita Ribas
 
SIGT09 Introducció Joomla
SIGT09 Introducció JoomlaSIGT09 Introducció Joomla
SIGT09 Introducció Joomla
 
Turbo Gears, Framework De Python Per Aplicacions Web
Turbo Gears, Framework De Python Per Aplicacions WebTurbo Gears, Framework De Python Per Aplicacions Web
Turbo Gears, Framework De Python Per Aplicacions Web
 
Curs de Wordpress avançat
Curs de Wordpress avançatCurs de Wordpress avançat
Curs de Wordpress avançat
 
Tutorial blogger
Tutorial blogger Tutorial blogger
Tutorial blogger
 
Css v2
Css v2Css v2
Css v2
 
ELISAVA Beta. Cas d'èxit desenvolupat per Ymbra
ELISAVA Beta. Cas d'èxit desenvolupat per YmbraELISAVA Beta. Cas d'èxit desenvolupat per Ymbra
ELISAVA Beta. Cas d'èxit desenvolupat per Ymbra
 
Eines per a la millora i el manteniment de webs
Eines per a la millora i el manteniment de websEines per a la millora i el manteniment de webs
Eines per a la millora i el manteniment de webs
 
Drupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòdulsDrupal: Funcionalitats i mòduls
Drupal: Funcionalitats i mòduls
 
Seo Drupal
Seo DrupalSeo Drupal
Seo Drupal
 
Formació metodologia amb WordPress 2
Formació metodologia amb WordPress 2Formació metodologia amb WordPress 2
Formació metodologia amb WordPress 2
 
Programació Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Programació  Web - PAC 2 correcció - Multimèdia (UOC) - Paquita RibasProgramació  Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Programació Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
 
Introducció a Theming amb Drupal 7
Introducció a Theming amb Drupal 7Introducció a Theming amb Drupal 7
Introducció a Theming amb Drupal 7
 
Arquitectura de la Información - Pac03 - Lidia Bria
Arquitectura de la Información - Pac03 -  Lidia BriaArquitectura de la Información - Pac03 -  Lidia Bria
Arquitectura de la Información - Pac03 - Lidia Bria
 
Nodes
Nodes  Nodes
Nodes
 
Presentació de Magento
Presentació de MagentoPresentació de Magento
Presentació de Magento
 
Creació d'un lloc web turístic utilitzant Wordpress
Creació d'un lloc web turístic utilitzant WordpressCreació d'un lloc web turístic utilitzant Wordpress
Creació d'un lloc web turístic utilitzant Wordpress
 
5.1.Disseny i aspecte estètic
5.1.Disseny i aspecte estètic5.1.Disseny i aspecte estètic
5.1.Disseny i aspecte estètic
 
Taller d'introducciò a WordPress.org
Taller d'introducciò a WordPress.orgTaller d'introducciò a WordPress.org
Taller d'introducciò a WordPress.org
 
Programació Web - PAC 4 - Multimèdia (UOC) - Paquita Ribas
Programació  Web - PAC 4 - Multimèdia (UOC) - Paquita RibasProgramació  Web - PAC 4 - Multimèdia (UOC) - Paquita Ribas
Programació Web - PAC 4 - Multimèdia (UOC) - Paquita Ribas
 

More from 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 2018
Atenea tech
 
Layout discovery. Drupal Summer Barcelona 2017
Layout discovery. Drupal Summer Barcelona 2017Layout discovery. Drupal Summer Barcelona 2017
Layout discovery. Drupal Summer Barcelona 2017
Atenea 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 8
Atenea tech
 
Let’s encrypt
Let’s encryptLet’s encrypt
Let’s encrypt
Atenea tech
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8
Atenea tech
 
Extreme page composition with paragraphs
Extreme page composition with paragraphsExtreme page composition with paragraphs
Extreme page composition with paragraphs
Atenea 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 paragraphs
Atenea tech
 
Cmi en drupal 8
Cmi en drupal 8Cmi en drupal 8
Cmi en drupal 8
Atenea 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 8
Atenea tech
 
Cultura empresarial, Open Source y Drupal
Cultura empresarial, Open Source y DrupalCultura empresarial, Open Source y Drupal
Cultura empresarial, Open Source y Drupal
Atenea tech
 
Formularios en Drupal 8
Formularios en Drupal 8Formularios en Drupal 8
Formularios en Drupal 8
Atenea tech
 
Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8
Atenea 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 2014
Atenea 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: Posada en Funcionament
Drupal: Posada en FuncionamentDrupal: Posada en Funcionament
Drupal: Posada en Funcionament
Atenea tech
 
Introducció a Drupal
Introducció a DrupalIntroducció a Drupal
Introducció a Drupal
Atenea tech
 
Context vs panels
Context vs panelsContext vs panels
Context vs panels
Atenea tech
 
Xarxes socials
Xarxes socialsXarxes socials
Xarxes socials
Atenea tech
 
AEPap web en Drupal desenvolupada per Atenea tech
AEPap web en Drupal desenvolupada per Atenea techAEPap web en Drupal desenvolupada per Atenea tech
AEPap web en Drupal desenvolupada per Atenea tech
Atenea tech
 

More from 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: 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
 
AEPap web en Drupal desenvolupada per Atenea tech
AEPap web en Drupal desenvolupada per Atenea techAEPap web en Drupal desenvolupada per Atenea tech
AEPap web en Drupal desenvolupada per Atenea tech
 

Display suite - Drupal.cat

  • 1. Display Suite Luis Ortiz Ramos 9/02/2012 Drupal.cat www.ateneatech.com
  • 2. Qui soc Luis Ortiz Ramos @luisortizramos a Twitter luis@ateneatech.com Cofundador d'Atenea tech www.ateneatech.com
  • 3. “Drupal i eliminar l'intermediari” Dries Buytaert, Abril de 2007 www.ateneatech.com
  • 4. “Crec que hi ha un gran valor en perfeccionar les tecnologies que es varen crear per eliminar al webmaster, al desenvolupador, i al disenyador. D'això és del que tracta 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. “... estem fent fàcil per a tothom construir llocs web potents.” www.ateneatech.com
  • 7. Sense Display Suite :( www.ateneatech.com
  • 9. No hi ha opcions per a seleccionar la disposició. www.ateneatech.com
  • 10. Exemple Volem canviar la disposició dels nodes d'un tipus de contingut “article” Solució: al tema personalitzat: ● Copiar node.tpl.php al nostre tema. ● Duplicar-lo i renombrar-lo a node—article.tpl.php. ● Editar el PHP d'aquest últim arxiu: ● Incloure la nova disposició ● Pintar els camps on toqui www.ateneatech.com
  • 11. Els modes de visualització són fixos. www.ateneatech.com
  • 12. Exemple Volem fer un mode de visualització per fer servir en una vista amb resums especials a la pàgina d'inici. Solució: a un mòdul propi: ● Implementar hook_entity_info_alter() www.ateneatech.com
  • 13. /** * Implements hook_entity_info_alter(). */ function MODUL_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 es poden afegir elements a la visualització. www.ateneatech.com
  • 15. Exemple Volem un element que mostri AddThis als articles Solució: a un mòdul propi: ● Implementar hook_field_extra_field() per a definir el nou element. ● Implementar hook_node_view() per a pintar l'element. www.ateneatech.com
  • 16. /** * Implements hook_field_extra_fields(). */ function MODUL_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 CODI HTML QUE DONA ADDTHIS...'); } } ● www.ateneatech.com
  • 17. No es pot determinar la sortida HTML dels camps. www.ateneatech.com
  • 18. Exemple Volem simplificar la sortida del camp Cos dels Articles Solució “fàcil”: al tema personalitzat: ● Copiar field.tpl.php ● Duplicar aquest arxiu i li diem field—body—article.tpl.php ● Editar el PHP d'aquest arxiu per a modificar la sortida del camp. www.ateneatech.com
  • 19. No és possible ocultar el títol de les pàgines. www.ateneatech.com
  • 20. Exemple Volem ocultar el títol de la pàgina dels continguts de tipus “Pàgina bàsica” Solució: al tema personalitzat ● Creem un arxiu anomenat template.php ● Implementem theme_process_page() www.ateneatech.com
  • 21. /** * Implements hook_process_page(). */ function TEMA_process_page(&$vars) { if ($vars['node'] && $vars['node']->type=='page') { unset($vars['title']); } } www.ateneatech.com
  • 22. No és possible fer servir contingut d'una entitat fora del bloc de contingut ni a l'inrevés. www.ateneatech.com
  • 23. Exemple Volem mostrar el valor del camp 'icona' de l'article a la barra lateral. Solució: fer una vista que mostri la icona, rebi com a filtre contextual l'identificador del node i generi un bloc, col·locar-lo a la barra lateral i configurar-lo per a que només es vegi quan estem a la pàgina d'un article. www.ateneatech.com
  • 24. Resum ● No hi ha opcions per a seleccionar la disposició. ● Els modes de visualització son fixos. ● No es poden afegir elements a la visualització. ● No es pot determinar la sortida HTML dels camps. ● No és possible ocultar el títol de les pàgines. ● No és possible fer servir contingut d'una entitat fora del bloc de contingut ni a l'inrevés. www.ateneatech.com
  • 25. Amb Display Suite :) www.ateneatech.com
  • 26. Demo www.ateneatech.com