SlideShare a Scribd company logo
Drupalcamp Athens 2010




                        Why m   ost D rupal
                        s ites are ugly*

                             AK A: Dr u p a l Th e m ing li m it at
                                                                      io n s

   * it’s because they’re made by developers!
Sunday, 11 April 2010                                                          1
The whole
                  Drupal
                  experience is
                  dated & ugly

Sunday, 11 April 2010             2
But it’s
                  changing!

Sunday, 11 April 2010         3
Why most Drupal sites
                                     are ugly
                        •       Bundled themes are UGLY and bad for starting a theme
                                (In fact, most free themes are ugly)

                        •       Premium, commercial themes business is nowhere as
                                big as with Wordpress or Joomla

                        •       Drupal looks SCARY to designers because:
                            -    it has a steep learning curve
                            -    it requires a developer mindset, limitations need to be
                                 taken into account when designing

                        ‣       Developers end up fixing things themselves




Sunday, 11 April 2010                                                                      4
Drupal facts of life

                        You CAN’T theme Drupal without touching PHP
                        (theming and development are intertwined)

                        You CAN’T (always) put stuff anywhere you want

                        You CAN’T (always) change anything you want

                        In fact, tou CAN change (almost) anything
                        if you really really want to
                        (but it may result in hard-to-maintain sites)




Sunday, 11 April 2010                                                    5
Two ways to tackle
                                limitations:

                        •   Spot stuff that Drupal can’t do well in a design


                                                 or:


                        •   Design Drupal sites that can be easily coded




Sunday, 11 April 2010                                                          6
Limitation #1:
                          Moving things around          Page


                    •   Content is arranged in
                        stacks
                                                         Region
                    •   It’s EASY to position
                        things inside a stack
                                                 Node
                    •   It’s HARD to place
                        things in other stacks           Block

                    •   You CAN code around it
                        (it may require hacks)




Sunday, 11 April 2010                                            7
Content                  Node

                          Fields
                        Placement
                        •   All node content
                            should be inside a
                            single <div>
                                                         Field
                        •   Fields are the most
                            common thing you’ll
                            want to move (e.g.
                            move a node’s file
                            attachments to the
                            sidebar)




Sunday, 11 April 2010                                            8
Solution:
                        •   (Easy case) hide content fields in node view and invoke
                            them via PHP in blocks

                        •   Drupal 7 is coming:




                        •   You can’t move everything, don’t bother with little
                            things, use CSS or forget it




Sunday, 11 April 2010                                                                9
Limitation #2:
                           Bloated HTML & CSS
                    •   DIVitis

                    •   CSS overload
                        (MANY css files!)

                    •   CSS: sometimes too
                        specific to override




Sunday, 11 April 2010                           10
Solution:
                        •   Choose a clean starter theme: Basic or Mothership

                        •   Clean things up yourself!




Sunday, 11 April 2010                                                           11
Limitation #3:
                            Core Element Markup
                        •   Core elements appear everywhere

                        •   You can’t change one instance, you have to change the
                            style EVERYWHERE

                        •   Things might be more generic than they first appear to
                            be, e.g. you can’t change theme_item_list() to affect the
                            recent comments list, ALL lists will be affected

                        •   Solution: Fix it with CSS (You CAN code around it, but
                            you shouldn’t)




Sunday, 11 April 2010                                                                   12
Limitation #4: Forms

                        •       You can’t change forms from the theming engine,
                                you have to write a module

                        •       Solution:
                            -    Wait for Drupal 7: use hook_form_alter() in template.php
                            -    Write a module!




Sunday, 11 April 2010                                                                       13
Limitation #4:
                        Using 3rd Party Modules
                        •   Each module brings its
                            own HTML/CSS

                        •   Don’t expect that their
                            styling (or markup)
                            will look the same

                        •   Solution: fix the code
                            yourself!




Sunday, 11 April 2010                                 14
References
                        •   Limitations of the Drupal Theme Layer
                            http://bit.ly/8ZHJm0

                        •   Awesomeness Redefined: Drupal 7 Theming
                            http://bit.ly/djuF73

                        •   D7 Theming: so awesome you'll need a change of pants
                            http://bit.ly/coC8vJ

                        •   Converting 6.x themes to 7.x
                            http://bit.ly/cFPX3b

                        •   Basic Theme: http://drupal.org/project/basic
                            Mothership Theme: http://drupal.org/project/mothership




Sunday, 11 April 2010                                                                15
George Terezakis
                            gterez@lucidideas.gr

                          http://www.lucidideas.gr
                          http://twitter.com/gterez




Sunday, 11 April 2010                                 16

More Related Content

Similar to Drupal Theming Limitations

Sustainable Theming with Fusion - DCCO 2011
Sustainable Theming with Fusion - DCCO 2011Sustainable Theming with Fusion - DCCO 2011
Sustainable Theming with Fusion - DCCO 2011
sheenadonnelly
 
UCLUG TorqueBox - 03/08/2011
UCLUG TorqueBox - 03/08/2011UCLUG TorqueBox - 03/08/2011
UCLUG TorqueBox - 03/08/2011
tobiascrawley
 
Upgrades and migrations
Upgrades and migrationsUpgrades and migrations
Upgrades and migrations
David Lanier
 
Evaluating Base Themes
Evaluating Base ThemesEvaluating Base Themes
Evaluating Base Themes
Emma Jane Hogbin Westby
 
"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012
"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012
"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012
Blend Interactive
 
Plone IDE - the future of Plone development
Plone IDE - the future of Plone developmentPlone IDE - the future of Plone development
Plone IDE - the future of Plone development
Mikko Ohtamaa
 
Session v1
Session v1Session v1
Session v1
Joe Crespo
 
HTML5 & CSS3 in Drupal (on the Bayou)
HTML5 & CSS3 in Drupal (on the Bayou)HTML5 & CSS3 in Drupal (on the Bayou)
HTML5 & CSS3 in Drupal (on the Bayou)
Mediacurrent
 
Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011) Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011)
Leonardo Borges
 
Intro To iOS
Intro To iOSIntro To iOS
Intro To iOS
Fernholz
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
mfrancis
 
Infusion for the birds
Infusion for the birdsInfusion for the birds
Infusion for the birds
colinbdclark
 
Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?
NETNODE AG
 
Oop design magma rails 2011
Oop design   magma rails 2011Oop design   magma rails 2011
Oop design magma rails 2011
MagmaConf
 
An Introduction to Python Concurrency
An Introduction to Python ConcurrencyAn Introduction to Python Concurrency
An Introduction to Python Concurrency
David Beazley (Dabeaz LLC)
 
HootSuite Dev 2
HootSuite Dev 2HootSuite Dev 2
HootSuite Dev 2
ujihisa
 
Design Patterns in Ruby
Design Patterns in RubyDesign Patterns in Ruby
Design Patterns in Ruby
Tiago Lima
 
Drupal theming 101
Drupal theming 101Drupal theming 101
Drupal theming 101
Exove
 
Drupal multisite
Drupal multisiteDrupal multisite
Drupal multisite
Ly Phuong
 
Docker in a big company
Docker in a big companyDocker in a big company
Docker in a big company
Docker, Inc.
 

Similar to Drupal Theming Limitations (20)

Sustainable Theming with Fusion - DCCO 2011
Sustainable Theming with Fusion - DCCO 2011Sustainable Theming with Fusion - DCCO 2011
Sustainable Theming with Fusion - DCCO 2011
 
UCLUG TorqueBox - 03/08/2011
UCLUG TorqueBox - 03/08/2011UCLUG TorqueBox - 03/08/2011
UCLUG TorqueBox - 03/08/2011
 
Upgrades and migrations
Upgrades and migrationsUpgrades and migrations
Upgrades and migrations
 
Evaluating Base Themes
Evaluating Base ThemesEvaluating Base Themes
Evaluating Base Themes
 
"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012
"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012
"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012
 
Plone IDE - the future of Plone development
Plone IDE - the future of Plone developmentPlone IDE - the future of Plone development
Plone IDE - the future of Plone development
 
Session v1
Session v1Session v1
Session v1
 
HTML5 & CSS3 in Drupal (on the Bayou)
HTML5 & CSS3 in Drupal (on the Bayou)HTML5 & CSS3 in Drupal (on the Bayou)
HTML5 & CSS3 in Drupal (on the Bayou)
 
Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011) Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011)
 
Intro To iOS
Intro To iOSIntro To iOS
Intro To iOS
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
 
Infusion for the birds
Infusion for the birdsInfusion for the birds
Infusion for the birds
 
Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?
 
Oop design magma rails 2011
Oop design   magma rails 2011Oop design   magma rails 2011
Oop design magma rails 2011
 
An Introduction to Python Concurrency
An Introduction to Python ConcurrencyAn Introduction to Python Concurrency
An Introduction to Python Concurrency
 
HootSuite Dev 2
HootSuite Dev 2HootSuite Dev 2
HootSuite Dev 2
 
Design Patterns in Ruby
Design Patterns in RubyDesign Patterns in Ruby
Design Patterns in Ruby
 
Drupal theming 101
Drupal theming 101Drupal theming 101
Drupal theming 101
 
Drupal multisite
Drupal multisiteDrupal multisite
Drupal multisite
 
Docker in a big company
Docker in a big companyDocker in a big company
Docker in a big company
 

Recently uploaded

みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 

Recently uploaded (20)

みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 

Drupal Theming Limitations

  • 1. Drupalcamp Athens 2010 Why m ost D rupal s ites are ugly* AK A: Dr u p a l Th e m ing li m it at io n s * it’s because they’re made by developers! Sunday, 11 April 2010 1
  • 2. The whole Drupal experience is dated & ugly Sunday, 11 April 2010 2
  • 3. But it’s changing! Sunday, 11 April 2010 3
  • 4. Why most Drupal sites are ugly • Bundled themes are UGLY and bad for starting a theme (In fact, most free themes are ugly) • Premium, commercial themes business is nowhere as big as with Wordpress or Joomla • Drupal looks SCARY to designers because: - it has a steep learning curve - it requires a developer mindset, limitations need to be taken into account when designing ‣ Developers end up fixing things themselves Sunday, 11 April 2010 4
  • 5. Drupal facts of life You CAN’T theme Drupal without touching PHP (theming and development are intertwined) You CAN’T (always) put stuff anywhere you want You CAN’T (always) change anything you want In fact, tou CAN change (almost) anything if you really really want to (but it may result in hard-to-maintain sites) Sunday, 11 April 2010 5
  • 6. Two ways to tackle limitations: • Spot stuff that Drupal can’t do well in a design or: • Design Drupal sites that can be easily coded Sunday, 11 April 2010 6
  • 7. Limitation #1: Moving things around Page • Content is arranged in stacks Region • It’s EASY to position things inside a stack Node • It’s HARD to place things in other stacks Block • You CAN code around it (it may require hacks) Sunday, 11 April 2010 7
  • 8. Content Node Fields Placement • All node content should be inside a single <div> Field • Fields are the most common thing you’ll want to move (e.g. move a node’s file attachments to the sidebar) Sunday, 11 April 2010 8
  • 9. Solution: • (Easy case) hide content fields in node view and invoke them via PHP in blocks • Drupal 7 is coming: • You can’t move everything, don’t bother with little things, use CSS or forget it Sunday, 11 April 2010 9
  • 10. Limitation #2: Bloated HTML & CSS • DIVitis • CSS overload (MANY css files!) • CSS: sometimes too specific to override Sunday, 11 April 2010 10
  • 11. Solution: • Choose a clean starter theme: Basic or Mothership • Clean things up yourself! Sunday, 11 April 2010 11
  • 12. Limitation #3: Core Element Markup • Core elements appear everywhere • You can’t change one instance, you have to change the style EVERYWHERE • Things might be more generic than they first appear to be, e.g. you can’t change theme_item_list() to affect the recent comments list, ALL lists will be affected • Solution: Fix it with CSS (You CAN code around it, but you shouldn’t) Sunday, 11 April 2010 12
  • 13. Limitation #4: Forms • You can’t change forms from the theming engine, you have to write a module • Solution: - Wait for Drupal 7: use hook_form_alter() in template.php - Write a module! Sunday, 11 April 2010 13
  • 14. Limitation #4: Using 3rd Party Modules • Each module brings its own HTML/CSS • Don’t expect that their styling (or markup) will look the same • Solution: fix the code yourself! Sunday, 11 April 2010 14
  • 15. References • Limitations of the Drupal Theme Layer http://bit.ly/8ZHJm0 • Awesomeness Redefined: Drupal 7 Theming http://bit.ly/djuF73 • D7 Theming: so awesome you'll need a change of pants http://bit.ly/coC8vJ • Converting 6.x themes to 7.x http://bit.ly/cFPX3b • Basic Theme: http://drupal.org/project/basic Mothership Theme: http://drupal.org/project/mothership Sunday, 11 April 2010 15
  • 16. George Terezakis gterez@lucidideas.gr http://www.lucidideas.gr http://twitter.com/gterez Sunday, 11 April 2010 16