SlideShare ist ein Scribd-Unternehmen logo
U S I N G C O R E B A S E
T H E M E S I N D R U PA L 8
B A C K T O B A S I C S
S U Z A N N E K E N N E D Y
D E R G A C H E VA
• Co-founder of Evolving
Web
• Training, Development,
Consulting
D R U PA L 8
T R A I N I N G
• July 20-21 in Ottawa
• Aug 22-26 in Montreal
• Sept 12-16 in Ottawa
• Sept 26-30 in Toronto
• October 3-4 in Chicago
• evolvingweb.ca/training
– S E L I M T O L G A
“For a happier life keep only the things you love
and use.”
A R E Y O U U S I N G A
C O N T R I B B A S E T H E M E ?
W H Y U S E A C O R E B A S E T H E M E ?
• Because Drupal 8 core is awesome
• You get understanding, control over what’s added in
your theme
• Fewer customizations that you don’t know are there
• Less code to maintain
• Easier to on-board new themers
W H Y C L A S S Y A N D S TA B L E A R E
I N V I S I B L E
C L A S S Y. I N F O . Y M L , S TA B L E . I N F O . Y M L
hidden: true
S TA B L E
• Includes all core template
files, which WON’T change
if core changes
• The default base theme for
Drupal 8
S TA B L E T E M P L AT E S
H T M L . H T M L . T W I G I N S TA B L E
<!DOCTYPE html>
<html{{ html_attributes }}>
<head>
<head-placeholder token="{{ placeholder_token|raw }}">
<title>{{ head_title|safe_join(' | ') }}</title>
<css-placeholder token="{{ placeholder_token|raw }}">
<js-placeholder token="{{ placeholder_token|raw }}">
</head>
<body{{ attributes }}>
<a href="#main-content" class="visually-hidden focusable">
{{ 'Skip to main content'|t }}
</a>
{{ page_top }}
{{ page }}
{{ page_bottom }}
<js-bottom-placeholder token="{{ placeholder_token|raw }}">
</body>
</html>
C L A S S Y
• Includes all core template
files, which WON’T change
if core changes
• These templates add many
wonderful, useful classes
• We get classes body
classes, classes for nodes,
fields, views, etc.
C L A S S Y T E M P L AT E S
H T M L . H T M L . T W I G
{%
set body_classes = [
logged_in ? 'user-logged-in',
not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class,
node_type ? 'page-node-type-' ~ node_type|clean_class,
db_offline ? 'db-offline',
]
%}
<!DOCTYPE html>
<html{{ html_attributes }}>
<head>
<head-placeholder token="{{ placeholder_token|raw }}">
<title>{{ head_title|safe_join(' | ') }}</title>
<css-placeholder token="{{ placeholder_token|raw }}">
<js-placeholder token="{{ placeholder_token|raw }}">
</head>
<body{{ attributes.addClass(body_classes) }}>
<a href="#main-content" class="visually-hidden focusable skip-link">
{{ 'Skip to main content'|t }}
</a>
{{ page_top }}
{{ page }}
{{ page_bottom }}
<js-bottom-placeholder token="{{ placeholder_token|raw }}">
</body>
</html>
Stable
Classy
My Theme Zen Bootstrap
Core Templates
base theme: falsebase theme: classy
Adaptive
base theme: stable
Omega
A L L Y O U R B A S E A R E B E L O N G T O U S ,
U N L E S S …
M Y T H E M E . I N F O . Y M L
base theme: false
G E T C L A S S Y
E X T E N D I N G C L A S S Y
M Y T H E M E . I N F O . Y M L
base theme: classy
N O R M A L I Z E . C S S
M O D E R N I Z R . J S
Y O U G E T
C S S F O R
D R U PA L
C O M P O N E N T S
Y O U G E T
base:
version: VERSION
css:
component:
css/components/action-links.css: { weight: -10
css/components/breadcrumb.css: { weight: -10 }
css/components/button.css: { weight: -10 }
css/components/collapse-processed.css: { weigh
css/components/container-inline.css: { weight:
css/components/details.css: { weight: -10 }
css/components/exposed-filters.css: { weight:
css/components/field.css: { weight: -10 }
css/components/form.css: { weight: -10 }
css/components/icons.css: { weight: -10 }
css/components/inline-form.css: { weight: -10
css/components/item-list.css: { weight: -10 }
css/components/link.css: { weight: -10 }
css/components/links.css: { weight: -10 }
css/components/menu.css: { weight: -10 }
css/components/more-link.css: { weight: -10 }
css/components/pager.css: { weight: -10 }
css/components/tabledrag.css: { weight: -10 }
css/components/tableselect.css: { weight: -10
css/components/tablesort.css: { weight: -10 }
css/components/tabs.css: { weight: -10 }
css/components/textarea.css: { weight: -10 }
css/components/ui-dialog.css: { weight: -10 }
!
book-navigation:
version: VERSION
css:
component:
css/components/book-navigation.css: {}
D E FA U LT
R E G I O N S
Y O U G E T
regions:
header: Header
primary_menu: Primary Menu
secondary_menu: Secondary Menu
breadcrumb: Breadcrumb
highlighted: Highlighted
help: Help
content: Content
sidebar_first: Sidebar first
sidebar_second: Sidebar second
footer: Footer
page_top: Page Top
page_bottom: Page Bottom
H T M L 5
Y O U G E T
<header role="banner">
{{ page.header }}
</header>
!
<main role="main">
<a id="main-content" tabindex="-1"></a>
!
<div class="layout-content">
{{ page.content }}
</div>{# /.layout-content #}
</main>
!
{% if page.footer %}
<footer role="contentinfo">
{{ page.footer }}
</footer>
{% endif %}
C L E A N E R M A R K U P
Y O U G E T
<div class="field field-name-field-name field-type-text
field-label-hidden”>
<div class="field-items">
<div class="field-item even">Ella</div>
</div>
</div>
<div class="field field--name-field-name field--type-
string field--label-hidden field__item">Ella</div>
S I N G L E VA L U E F I E L D I N D 7
S I N G L E VA L U E F I E L D I N D 8
T W I G T E M P L AT E S G A L O R E
Y O U G E T
B E M C L A S S E S
Y O U G E T
B L O C K , E L E M E N T, M O D I F I E R
<div class="field field--name-field-name
field--type-string field--label-hidden
field__item">Ella</div>
W H AT ’ S
M I S S I N G ?
S TA R I N G W I T H C L A S S Y
W H AT ’ S M I S S I N G ?
• Pre-existing, organized stylesheets
• Layout CSS or a grid system
• Extra regions to place your content
• So… how do we add these?
C U S T O M I Z I N G
R E G I O N S
• Define them in
your .info.yml file
• Use them in your
page.html.twig file
regions:
header: Header
primary_menu: Primary Menu
secondary_menu: Secondary Menu
breadcrumb: Breadcrumb
highlighted: Highlighted
help: Help
content: Content
content_bottom: Content bottom
pre_footer: Pre-footer
footer: Footer
page_top: Page Top
page_bottom: Page Bottom
O R G A N I Z I N G Y O U R C S S
M Y T H E M E . L I B R A R I E S . Y M L
global-styling:
css:
base:
css/base/normalize.css
css/base/elements.css
layout:
css/layout/layout.css
css/layout/layout--medium.css
css/layout/layout--wide.css
component:
css/node.css
css/block.css
css/menu.css
theme:
css/styles.css
css/typography.css
O R G A N I Z I N G Y O U R C S S
M Y T H E M E . I N F O . Y M L
!
libraries:
- 'mytheme/global-styling'
C L A S S Y L O O K I N G S A S S Y
M Y T H E M E . L I B R A R I E S . Y M L
global-styling:
css:
base:
css/base.css
layout:
css/layout.css
component:
css/components.css
theme:
css/styles.css
sass/base.scss
sass/layout.scss
sass/_layout-wide.scss
sass/_layout-small.scss
sass/components/scss
sass/_block.scss
sass/_node.scss
sass/_menu.scss
sass/styles.scss
sass/_branding.scss
sass/_typography.scss
R E M O V I N G C S S
M Y T H E M E . I N F O . Y M L
!
!
libraries-override:
classy/messages: false
!
stylesheets-remove:
- core/assets/vendor/normalize-css/normalize.css
G R I D S , G R I D S E V E RY W H E R E !
Y O U H AV E S O M E O P T I O N S …
• Add a CSS grid system to your theme - then apply the
appropriate classes in your templates (Boostrap, Zurb
Foundation, Skeleton, Simple Grid, etc.)
• Use a grid system like Zen grids, which you apply by
writing CSS using Classy classes
• Create your own grid system css-tricks.com/dont-
overthink-it-grids
• Write CSS using Classy classes to create a layout/grid
I M P L E M E N T I N G
A G R I D S Y S T E M
• Add grid CSS to your
theme
• Add appropriate classes
to:
• Your Twig templates
• Views config
• Your content (if needed)
I M P L E M E N T I N G A G R I D L AY O U T
PA G E . H T M L . T W I G
{% 	
set content_classes = [	
page.sidebar_first and page.sidebar_second ? 'col-sm-6',	
page.sidebar_first and page.sidebar_second is empty ? 'col-sm-9',	
page.sidebar_second and page.sidebar_first is empty ? 'col-sm-9',	
page.sidebar_first is empty and page.sidebar_second is empty ? 'col-
sm-12'	
]	
%}	
<section{{ content_attributes.addClass(content_classes) }}>	
{{ page.content }} 	
</section>
C R E AT I N G A
L AY O U T W I T H C S S
• Add layout classes to your
body tag
• Add a layout.css file that
positions regions
• Add CSS for any grid-like
elements
• Use media queries to
adjust the layout for
different screen sizes
{%	
set body_classes = [	
logged_in ? 'user-logged-in',	
…	
page.sidebar_first ? 'sidebar-first',	
page.sidebar_second ? 'sidebar-second',	
]	
%}
C R E AT I N G A
L AY O U T W I T H C S S
• Add layout classes to your
body tag
• Add a layout.css file that
positions regions
• Add CSS for any grid-like
elements
• Use media queries to
adjust the layout for
different screen sizes
#content {
width: 100%;
}
@media screen and (min-width: 800px){
body.sidebar-first #content {
width: 80%;
left: 20%; /* LTR */
}
body.sidebar-second #content {
width: 80%;
}
body.two-sidebars #content {
width: 60%;
left: 20%;
}
#sidebar-first {
width: 20%;
left: -80%; /* LTR */
}
body.two-sidebars #sidebar-first {
left: -60%; /* LTR */
}
#sidebar-second {
float: right; /* LTR */
width: 20%;
}
}
T O O M U C H W O R K ?
• Contrib base themes provide:
• Settings
• Grid system integration out-of-the-box:
• Templates with correct classes
• CSS for layout and styling of elements
D R U PA L 8
T R A I N I N G
• July 20-21 in Ottawa
• Aug 22-26 in Montreal
• Sept 12-16 in Ottawa
• Sept 26-30 in Toronto
• October 3-4 in Chicago
• evolvingweb.ca/training
bit.ly/d8-layouts
Webinar: Creating Mobile-Proof Layouts in Drupal 8
June 27 at 12-1pm

Weitere ähnliche Inhalte

Was ist angesagt?

Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeMinimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Suzanne Dergacheva
 
Grok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateGrok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb update
Laura Scott
 
A Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 MinutesA Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 Minutes
Snake Hill Web Agency
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
Ryan Price
 
Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Development
mwrather
 
Bootstrap Framework and Drupal
Bootstrap Framework and DrupalBootstrap Framework and Drupal
Bootstrap Framework and Drupal
Jim Birch
 
Introduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingIntroduction to Custom WordPress Themeing
Introduction to Custom WordPress Themeing
Jamie Schmid
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) Theming
PINGV
 
Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Let's dig into the Omega Theme!
Let's dig into the Omega Theme!
Mediacurrent
 
From PSD to WordPress Theme: Bringing designs to life
From PSD to WordPress Theme: Bringing designs to lifeFrom PSD to WordPress Theme: Bringing designs to life
From PSD to WordPress Theme: Bringing designs to life
Derek Christensen
 
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. FoundationBattle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
Rachel Cherry
 
Developing Your Ultimate Package
Developing Your Ultimate PackageDeveloping Your Ultimate Package
Developing Your Ultimate Package
Simon Collison
 
Drupal 7 Theme System
Drupal 7 Theme SystemDrupal 7 Theme System
Drupal 7 Theme System
Peter Arato
 
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
Benjamin Niaulin
 
WordPress Theme Structure
WordPress Theme StructureWordPress Theme Structure
WordPress Theme Structure
keithdevon
 
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalWordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
Chandra Prakash Thapa
 
Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Ivan Zugec
 
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Jim Birch
 
A modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianA modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at Atlassian
Magnolia
 

Was ist angesagt? (20)

Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeMinimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
 
Grok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateGrok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb update
 
A Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 MinutesA Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 Minutes
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
 
Modern Front-End Development
Modern Front-End DevelopmentModern Front-End Development
Modern Front-End Development
 
Bootstrap Framework and Drupal
Bootstrap Framework and DrupalBootstrap Framework and Drupal
Bootstrap Framework and Drupal
 
Introduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingIntroduction to Custom WordPress Themeing
Introduction to Custom WordPress Themeing
 
Efficient theming in Drupal
Efficient theming in DrupalEfficient theming in Drupal
Efficient theming in Drupal
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) Theming
 
Let's dig into the Omega Theme!
Let's dig into the Omega Theme!Let's dig into the Omega Theme!
Let's dig into the Omega Theme!
 
From PSD to WordPress Theme: Bringing designs to life
From PSD to WordPress Theme: Bringing designs to lifeFrom PSD to WordPress Theme: Bringing designs to life
From PSD to WordPress Theme: Bringing designs to life
 
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. FoundationBattle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
 
Developing Your Ultimate Package
Developing Your Ultimate PackageDeveloping Your Ultimate Package
Developing Your Ultimate Package
 
Drupal 7 Theme System
Drupal 7 Theme SystemDrupal 7 Theme System
Drupal 7 Theme System
 
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
Re-Experience SharePoint: Interface Enhancements in SharePoint 2010
 
WordPress Theme Structure
WordPress Theme StructureWordPress Theme Structure
WordPress Theme Structure
 
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalWordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
 
Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7
 
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
Optimizing Drupal 7 HTML Markup - Using Panels, Page Manager, and Fences to P...
 
A modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianA modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at Atlassian
 

Andere mochten auch

Site Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp OttawaSite Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp Ottawa
Suzanne Dergacheva
 
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Suzanne Dergacheva
 
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012Suzanne Dergacheva
 
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Suzanne Dergacheva
 
Views Configuration at Drupal Camp Toronto 2012
Views Configuration at Drupal Camp Toronto 2012Views Configuration at Drupal Camp Toronto 2012
Views Configuration at Drupal Camp Toronto 2012
Suzanne Dergacheva
 
Chef
ChefChef
DrupalCamp 2011 -- Poutine Maker
DrupalCamp 2011 -- Poutine MakerDrupalCamp 2011 -- Poutine Maker
DrupalCamp 2011 -- Poutine Maker
tavisharmstrong
 
Instant Dynamic Forms with #states
Instant Dynamic Forms with #statesInstant Dynamic Forms with #states
Instant Dynamic Forms with #statesKonstantin Käfer
 
Introduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience ToolkitIntroduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience Toolkit
Suzanne Dergacheva
 
Upgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and GotchasUpgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and Gotchas
Suzanne Dergacheva
 
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Suzanne Dergacheva
 
Apresentação hamlet
Apresentação hamletApresentação hamlet
Apresentação hamlet
Hamlet B2B
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8
Suzanne Dergacheva
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7
Suzanne Dergacheva
 
Meilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web DrupalMeilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web Drupal
Suzanne Dergacheva
 
31 intranet homepage design examples, with screenshots
31 intranet homepage design examples, with screenshots31 intranet homepage design examples, with screenshots
31 intranet homepage design examples, with screenshots
Digital Workplace Group
 

Andere mochten auch (16)

Site Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp OttawaSite Building Checklist DrupalCamp Ottawa
Site Building Checklist DrupalCamp Ottawa
 
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
 
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012
Advanced Views Configuration: Presentation from DrupalCamp Montreal 2012
 
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012
 
Views Configuration at Drupal Camp Toronto 2012
Views Configuration at Drupal Camp Toronto 2012Views Configuration at Drupal Camp Toronto 2012
Views Configuration at Drupal Camp Toronto 2012
 
Chef
ChefChef
Chef
 
DrupalCamp 2011 -- Poutine Maker
DrupalCamp 2011 -- Poutine MakerDrupalCamp 2011 -- Poutine Maker
DrupalCamp 2011 -- Poutine Maker
 
Instant Dynamic Forms with #states
Instant Dynamic Forms with #statesInstant Dynamic Forms with #states
Instant Dynamic Forms with #states
 
Introduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience ToolkitIntroduction to the Drupal - Web Experience Toolkit
Introduction to the Drupal - Web Experience Toolkit
 
Upgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and GotchasUpgrading to Drupal 8: Benefits and Gotchas
Upgrading to Drupal 8: Benefits and Gotchas
 
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
Multilingual Site Building with Drupal 7 at Drupal Camp NYC 10
 
Apresentação hamlet
Apresentação hamletApresentação hamlet
Apresentação hamlet
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7
 
Meilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web DrupalMeilleures pratiques pour construire un site web Drupal
Meilleures pratiques pour construire un site web Drupal
 
31 intranet homepage design examples, with screenshots
31 intranet homepage design examples, with screenshots31 intranet homepage design examples, with screenshots
31 intranet homepage design examples, with screenshots
 

Ähnlich wie Using Core Themes in Drupal 8

ViA Bootstrap 4
ViA Bootstrap 4ViA Bootstrap 4
ViA Bootstrap 4
imdurgesh
 
Joomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
Joomla! Day Chicago 2011 - Templating the right way - Jonathan ShroyerJoomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
Joomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
Steven Pignataro
 
HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010alanburke
 
WordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp ChicagoWordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp Chicago
Joseph Dolson
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
TsungWei Hu
 
HTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptHTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.ppt
raghavanp4
 
css.ppt
css.pptcss.ppt
css.ppt
css.pptcss.ppt
css.ppt
Sana903754
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucks
Tim Wright
 
Pfnp slides
Pfnp slidesPfnp slides
Pfnp slides
William Myers
 
D7 theming what's new - London
D7 theming what's new - LondonD7 theming what's new - London
D7 theming what's new - London
Marek Sotak
 
Advance Css 1194323118268797 5
Advance Css 1194323118268797 5Advance Css 1194323118268797 5
Advance Css 1194323118268797 5
dharshyamal
 
Advance Css
Advance CssAdvance Css
Advance Css
vijayta
 
Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)
Christopher Ross
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
Jens-Christian Fischer
 
Introduction to BOOTSTRAP
Introduction to BOOTSTRAPIntroduction to BOOTSTRAP
Introduction to BOOTSTRAP
Jeanie Arnoco
 
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Optimising Your Front End Workflow With Symfony, Twig, Bower and GulpOptimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Matthew Davis
 

Ähnlich wie Using Core Themes in Drupal 8 (20)

ViA Bootstrap 4
ViA Bootstrap 4ViA Bootstrap 4
ViA Bootstrap 4
 
Joomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
Joomla! Day Chicago 2011 - Templating the right way - Jonathan ShroyerJoomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
Joomla! Day Chicago 2011 - Templating the right way - Jonathan Shroyer
 
HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010HTML 5 Drupalcamp Ireland Dublin 2010
HTML 5 Drupalcamp Ireland Dublin 2010
 
WordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp ChicagoWordPress Accessibility: WordCamp Chicago
WordPress Accessibility: WordCamp Chicago
 
HTML5 & CSS3 Flag
HTML5 & CSS3 FlagHTML5 & CSS3 Flag
HTML5 & CSS3 Flag
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
Test upload
Test uploadTest upload
Test upload
 
HTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptHTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.ppt
 
css.ppt
css.pptcss.ppt
css.ppt
 
css.ppt
css.pptcss.ppt
css.ppt
 
Slow kinda sucks
Slow kinda sucksSlow kinda sucks
Slow kinda sucks
 
Pfnp slides
Pfnp slidesPfnp slides
Pfnp slides
 
D7 theming what's new - London
D7 theming what's new - LondonD7 theming what's new - London
D7 theming what's new - London
 
Class15
Class15Class15
Class15
 
Advance Css 1194323118268797 5
Advance Css 1194323118268797 5Advance Css 1194323118268797 5
Advance Css 1194323118268797 5
 
Advance Css
Advance CssAdvance Css
Advance Css
 
Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Introduction to BOOTSTRAP
Introduction to BOOTSTRAPIntroduction to BOOTSTRAP
Introduction to BOOTSTRAP
 
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Optimising Your Front End Workflow With Symfony, Twig, Bower and GulpOptimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
 

Mehr von Suzanne Dergacheva

It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...
Suzanne Dergacheva
 
Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8
Suzanne Dergacheva
 
Dipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module DevelopmentDipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module Development
Suzanne Dergacheva
 
Device-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for DrupalDevice-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for Drupal
Suzanne Dergacheva
 
Creating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarCreating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - Webinar
Suzanne Dergacheva
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DayCreating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Suzanne Dergacheva
 
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreCreating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Suzanne Dergacheva
 
What is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarWhat is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? Webinar
Suzanne Dergacheva
 
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinCreating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Suzanne Dergacheva
 
Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016
Suzanne Dergacheva
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 Multilingual
Suzanne Dergacheva
 
Creating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large OrganizationCreating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large Organization
Suzanne Dergacheva
 
Intro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersIntro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site Builders
Suzanne Dergacheva
 
10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-Box10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-Box
Suzanne Dergacheva
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarCreating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Suzanne Dergacheva
 
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Suzanne Dergacheva
 
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Suzanne Dergacheva
 
Using Panels Wisely - DrupalCamp Ottawa 2014
Using Panels Wisely - DrupalCamp Ottawa 2014Using Panels Wisely - DrupalCamp Ottawa 2014
Using Panels Wisely - DrupalCamp Ottawa 2014
Suzanne Dergacheva
 
Drupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New JerseyDrupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New Jersey
Suzanne Dergacheva
 

Mehr von Suzanne Dergacheva (20)

It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...
 
Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8Building a Great User Experience for Content Editors in Drupal 8
Building a Great User Experience for Content Editors in Drupal 8
 
Dipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module DevelopmentDipping Your Toe into Drupal 8 Module Development
Dipping Your Toe into Drupal 8 Module Development
 
Device-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for DrupalDevice-Agnostic Content Strategy for Drupal
Device-Agnostic Content Strategy for Drupal
 
Creating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarCreating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - Webinar
 
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech DayCreating a Reusable Drupal Website for Higher Education - at USG Tech Day
Creating a Reusable Drupal Website for Higher Education - at USG Tech Day
 
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreCreating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
 
What is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarWhat is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? Webinar
 
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinCreating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
 
Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 Multilingual
 
Creating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large OrganizationCreating a Drupal Install Profile for a Large Organization
Creating a Drupal Install Profile for a Large Organization
 
Intro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site BuildersIntro to Drupal Migrate for Site Builders
Intro to Drupal Migrate for Site Builders
 
Drupal migrate-june2015
Drupal migrate-june2015Drupal migrate-june2015
Drupal migrate-june2015
 
10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-Box10 New Things You Can Do with Drupal 8 Out-of-the-Box
10 New Things You Can Do with Drupal 8 Out-of-the-Box
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - WebinarCreating Dynamic Landing Pages for Drupal with Panels - Webinar
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
 
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
Creating a User-Friendly Search UI with Drupal - Presentation at DrupalCamp T...
 
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
Getting Started with Drupal 8 Theming - DrupalCamp Toronto 2014
 
Using Panels Wisely - DrupalCamp Ottawa 2014
Using Panels Wisely - DrupalCamp Ottawa 2014Using Panels Wisely - DrupalCamp Ottawa 2014
Using Panels Wisely - DrupalCamp Ottawa 2014
 
Drupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New JerseyDrupal Site Building Checklist from DrupalCamp New Jersey
Drupal Site Building Checklist from DrupalCamp New Jersey
 

Kürzlich hochgeladen

成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
vmemo1
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
cuobya
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
harveenkaur52
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
wolfsoftcompanyco
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
uehowe
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 

Kürzlich hochgeladen (20)

成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 

Using Core Themes in Drupal 8

  • 1. U S I N G C O R E B A S E T H E M E S I N D R U PA L 8 B A C K T O B A S I C S
  • 2.
  • 3. S U Z A N N E K E N N E D Y D E R G A C H E VA • Co-founder of Evolving Web • Training, Development, Consulting
  • 4. D R U PA L 8 T R A I N I N G • July 20-21 in Ottawa • Aug 22-26 in Montreal • Sept 12-16 in Ottawa • Sept 26-30 in Toronto • October 3-4 in Chicago • evolvingweb.ca/training
  • 5. – S E L I M T O L G A “For a happier life keep only the things you love and use.”
  • 6. A R E Y O U U S I N G A C O N T R I B B A S E T H E M E ?
  • 7. W H Y U S E A C O R E B A S E T H E M E ? • Because Drupal 8 core is awesome • You get understanding, control over what’s added in your theme • Fewer customizations that you don’t know are there • Less code to maintain • Easier to on-board new themers
  • 8. W H Y C L A S S Y A N D S TA B L E A R E I N V I S I B L E C L A S S Y. I N F O . Y M L , S TA B L E . I N F O . Y M L hidden: true
  • 9. S TA B L E • Includes all core template files, which WON’T change if core changes • The default base theme for Drupal 8
  • 10. S TA B L E T E M P L AT E S H T M L . H T M L . T W I G I N S TA B L E <!DOCTYPE html> <html{{ html_attributes }}> <head> <head-placeholder token="{{ placeholder_token|raw }}"> <title>{{ head_title|safe_join(' | ') }}</title> <css-placeholder token="{{ placeholder_token|raw }}"> <js-placeholder token="{{ placeholder_token|raw }}"> </head> <body{{ attributes }}> <a href="#main-content" class="visually-hidden focusable"> {{ 'Skip to main content'|t }} </a> {{ page_top }} {{ page }} {{ page_bottom }} <js-bottom-placeholder token="{{ placeholder_token|raw }}"> </body> </html>
  • 11. C L A S S Y • Includes all core template files, which WON’T change if core changes • These templates add many wonderful, useful classes • We get classes body classes, classes for nodes, fields, views, etc.
  • 12. C L A S S Y T E M P L AT E S H T M L . H T M L . T W I G {% set body_classes = [ logged_in ? 'user-logged-in', not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class, node_type ? 'page-node-type-' ~ node_type|clean_class, db_offline ? 'db-offline', ] %} <!DOCTYPE html> <html{{ html_attributes }}> <head> <head-placeholder token="{{ placeholder_token|raw }}"> <title>{{ head_title|safe_join(' | ') }}</title> <css-placeholder token="{{ placeholder_token|raw }}"> <js-placeholder token="{{ placeholder_token|raw }}"> </head> <body{{ attributes.addClass(body_classes) }}> <a href="#main-content" class="visually-hidden focusable skip-link"> {{ 'Skip to main content'|t }} </a> {{ page_top }} {{ page }} {{ page_bottom }} <js-bottom-placeholder token="{{ placeholder_token|raw }}"> </body> </html>
  • 13. Stable Classy My Theme Zen Bootstrap Core Templates base theme: falsebase theme: classy Adaptive base theme: stable Omega
  • 14. A L L Y O U R B A S E A R E B E L O N G T O U S , U N L E S S … M Y T H E M E . I N F O . Y M L base theme: false
  • 15. G E T C L A S S Y
  • 16. E X T E N D I N G C L A S S Y M Y T H E M E . I N F O . Y M L base theme: classy
  • 17. N O R M A L I Z E . C S S M O D E R N I Z R . J S Y O U G E T
  • 18. C S S F O R D R U PA L C O M P O N E N T S Y O U G E T base: version: VERSION css: component: css/components/action-links.css: { weight: -10 css/components/breadcrumb.css: { weight: -10 } css/components/button.css: { weight: -10 } css/components/collapse-processed.css: { weigh css/components/container-inline.css: { weight: css/components/details.css: { weight: -10 } css/components/exposed-filters.css: { weight: css/components/field.css: { weight: -10 } css/components/form.css: { weight: -10 } css/components/icons.css: { weight: -10 } css/components/inline-form.css: { weight: -10 css/components/item-list.css: { weight: -10 } css/components/link.css: { weight: -10 } css/components/links.css: { weight: -10 } css/components/menu.css: { weight: -10 } css/components/more-link.css: { weight: -10 } css/components/pager.css: { weight: -10 } css/components/tabledrag.css: { weight: -10 } css/components/tableselect.css: { weight: -10 css/components/tablesort.css: { weight: -10 } css/components/tabs.css: { weight: -10 } css/components/textarea.css: { weight: -10 } css/components/ui-dialog.css: { weight: -10 } ! book-navigation: version: VERSION css: component: css/components/book-navigation.css: {}
  • 19. D E FA U LT R E G I O N S Y O U G E T regions: header: Header primary_menu: Primary Menu secondary_menu: Secondary Menu breadcrumb: Breadcrumb highlighted: Highlighted help: Help content: Content sidebar_first: Sidebar first sidebar_second: Sidebar second footer: Footer page_top: Page Top page_bottom: Page Bottom
  • 20. H T M L 5 Y O U G E T <header role="banner"> {{ page.header }} </header> ! <main role="main"> <a id="main-content" tabindex="-1"></a> ! <div class="layout-content"> {{ page.content }} </div>{# /.layout-content #} </main> ! {% if page.footer %} <footer role="contentinfo"> {{ page.footer }} </footer> {% endif %}
  • 21. C L E A N E R M A R K U P Y O U G E T <div class="field field-name-field-name field-type-text field-label-hidden”> <div class="field-items"> <div class="field-item even">Ella</div> </div> </div> <div class="field field--name-field-name field--type- string field--label-hidden field__item">Ella</div> S I N G L E VA L U E F I E L D I N D 7 S I N G L E VA L U E F I E L D I N D 8
  • 22. T W I G T E M P L AT E S G A L O R E Y O U G E T
  • 23. B E M C L A S S E S Y O U G E T B L O C K , E L E M E N T, M O D I F I E R <div class="field field--name-field-name field--type-string field--label-hidden field__item">Ella</div>
  • 24. W H AT ’ S M I S S I N G ? S TA R I N G W I T H C L A S S Y
  • 25. W H AT ’ S M I S S I N G ? • Pre-existing, organized stylesheets • Layout CSS or a grid system • Extra regions to place your content • So… how do we add these?
  • 26. C U S T O M I Z I N G R E G I O N S • Define them in your .info.yml file • Use them in your page.html.twig file regions: header: Header primary_menu: Primary Menu secondary_menu: Secondary Menu breadcrumb: Breadcrumb highlighted: Highlighted help: Help content: Content content_bottom: Content bottom pre_footer: Pre-footer footer: Footer page_top: Page Top page_bottom: Page Bottom
  • 27. O R G A N I Z I N G Y O U R C S S M Y T H E M E . L I B R A R I E S . Y M L global-styling: css: base: css/base/normalize.css css/base/elements.css layout: css/layout/layout.css css/layout/layout--medium.css css/layout/layout--wide.css component: css/node.css css/block.css css/menu.css theme: css/styles.css css/typography.css
  • 28. O R G A N I Z I N G Y O U R C S S M Y T H E M E . I N F O . Y M L ! libraries: - 'mytheme/global-styling'
  • 29. C L A S S Y L O O K I N G S A S S Y M Y T H E M E . L I B R A R I E S . Y M L global-styling: css: base: css/base.css layout: css/layout.css component: css/components.css theme: css/styles.css sass/base.scss sass/layout.scss sass/_layout-wide.scss sass/_layout-small.scss sass/components/scss sass/_block.scss sass/_node.scss sass/_menu.scss sass/styles.scss sass/_branding.scss sass/_typography.scss
  • 30. R E M O V I N G C S S M Y T H E M E . I N F O . Y M L ! ! libraries-override: classy/messages: false ! stylesheets-remove: - core/assets/vendor/normalize-css/normalize.css
  • 31. G R I D S , G R I D S E V E RY W H E R E !
  • 32. Y O U H AV E S O M E O P T I O N S … • Add a CSS grid system to your theme - then apply the appropriate classes in your templates (Boostrap, Zurb Foundation, Skeleton, Simple Grid, etc.) • Use a grid system like Zen grids, which you apply by writing CSS using Classy classes • Create your own grid system css-tricks.com/dont- overthink-it-grids • Write CSS using Classy classes to create a layout/grid
  • 33. I M P L E M E N T I N G A G R I D S Y S T E M • Add grid CSS to your theme • Add appropriate classes to: • Your Twig templates • Views config • Your content (if needed)
  • 34. I M P L E M E N T I N G A G R I D L AY O U T PA G E . H T M L . T W I G {% set content_classes = [ page.sidebar_first and page.sidebar_second ? 'col-sm-6', page.sidebar_first and page.sidebar_second is empty ? 'col-sm-9', page.sidebar_second and page.sidebar_first is empty ? 'col-sm-9', page.sidebar_first is empty and page.sidebar_second is empty ? 'col- sm-12' ] %} <section{{ content_attributes.addClass(content_classes) }}> {{ page.content }} </section>
  • 35. C R E AT I N G A L AY O U T W I T H C S S • Add layout classes to your body tag • Add a layout.css file that positions regions • Add CSS for any grid-like elements • Use media queries to adjust the layout for different screen sizes {% set body_classes = [ logged_in ? 'user-logged-in', … page.sidebar_first ? 'sidebar-first', page.sidebar_second ? 'sidebar-second', ] %}
  • 36. C R E AT I N G A L AY O U T W I T H C S S • Add layout classes to your body tag • Add a layout.css file that positions regions • Add CSS for any grid-like elements • Use media queries to adjust the layout for different screen sizes #content { width: 100%; } @media screen and (min-width: 800px){ body.sidebar-first #content { width: 80%; left: 20%; /* LTR */ } body.sidebar-second #content { width: 80%; } body.two-sidebars #content { width: 60%; left: 20%; } #sidebar-first { width: 20%; left: -80%; /* LTR */ } body.two-sidebars #sidebar-first { left: -60%; /* LTR */ } #sidebar-second { float: right; /* LTR */ width: 20%; } }
  • 37. T O O M U C H W O R K ? • Contrib base themes provide: • Settings • Grid system integration out-of-the-box: • Templates with correct classes • CSS for layout and styling of elements
  • 38. D R U PA L 8 T R A I N I N G • July 20-21 in Ottawa • Aug 22-26 in Montreal • Sept 12-16 in Ottawa • Sept 26-30 in Toronto • October 3-4 in Chicago • evolvingweb.ca/training
  • 39. bit.ly/d8-layouts Webinar: Creating Mobile-Proof Layouts in Drupal 8 June 27 at 12-1pm