SlideShare a Scribd company logo
1 ©2017 Acquia Inc. — Confidential and Proprietary
Dave Myburgh, Senior Engineer, Acquia Inc.
Creating a Custom
Bootstrap Subtheme for
Drupal 8
2 ©2017 Acquia Inc. — Confidential and Proprietary
Who Am I?
– Senior Engineer at Acquia, Inc. since 2011
– Maintain www.acquia.com, along with dev., engage.,
partners., and training.acquia.com
– Jack-of-all-trades: site building, front-end, back-end
– Started with Drupal 4.7, with theming mostly
– Learned PHP by hacking Drupal
3 ©2017 Acquia Inc. — Confidential and Proprietary
What We Will Cover
– Installing new Bootstrap theme
– Creating a subtheme
– Naming the subtheme
– Customizing subtheme
– Overriding Bootstrap variables (Sass)
– Template overrides
– Optional: Bootstrap Layouts (Panels/Display Suite)
4 ©2017 Acquia Inc. — Confidential and Proprietary
Installing Bootstrap
5 ©2017 Acquia Inc. — Confidential and Proprietary
Installation
– Get Bootstrap theme into your /theme folder
drush dl bootstrap, or download and decompress)
– Copy starterkits folder of your choice to /theme folder
cp –R bootstrap/starterkits/sass dcutah
– You should have this:
/themes/bootstrap
/themes/dcutah
– Note that less and sass starterkits will have compiler requirements
(node.js, ruby, compass, grunt, gulp, etc.)
6 ©2017 Acquia Inc. — Confidential and Proprietary
Rename & Edit Files
– THEMENAME.libraries.yml
– THEMENAME.starterkit.yml (edit)
– THEMENAME.theme
– config/install/THEMENAME.settings.yml
– config/schema/THEMENAME.schema.yml (edit)
– change THEMENAME to dcutah
– change starterkit to info
– edit files where noted to change info inside them
7 ©2017 Acquia Inc. — Confidential and Proprietary
Edit dcutah.info.yml
name: 'THEMETITLE'
description: 'Uses the Bootstrap framework Sass
source files and must be compiled (not for
beginners).'
libraries:
- 'THEMENAME/global-styling'
- 'THEMENAME/bootstrap-scripts'
8 ©2017 Acquia Inc. — Confidential and Proprietary
Edit config/schema/dcutah.schema.yml
THEMENAME.settings:
type: theme_settings
label: 'THEMETITLE settings'
9 ©2017 Acquia Inc. — Confidential and Proprietary
Install Bootstrap Source Files
– Only for less or sass starterkits
– Download and extract the 3.x Sass source files into your
theme folder, so that you have /themes/dcutah/bootstrap
https://github.com/twbs/bootstrap-sass/archive/v3.3.7.tar.gz
– cdn starterkit only has css/styles.css for you to override
default styles – easy!
10 ©2017 Acquia Inc. — Confidential and Proprietary
Compile Your Less/Sass Files
– Whatever compiler you’re using, you will need to compile
your source files.
– Make sure your dcutah.libraries.yml file is pointing to the
compiled stylesheet
I used compass without a config.rb file, so had to rename scss to
sass and change path in libraries.yml from css/style.css to
stylesheets/style.css
– Clear all caches!
11 ©2017 Acquia Inc. — Confidential and Proprietary
Enable Themes
– Enable Bootstrap AND DCUtah themes.
– Make DCUtah the default theme.
– You’ll now have a very boring looking Bootstrap theme
with some badly placed blocks.
– Go ahead and configure blocks and various settings to
your liking.
12 ©2017 Acquia Inc. — Confidential and Proprietary
Settings of Note
– Appearance settings for custom theme
– container-fluid (default: off)
– img-responsive (default: on)
– popovers and tooltips (default: on – performance!)
13 ©2017 Acquia Inc. — Confidential and Proprietary
Using Bootstrap
14 ©2017 Acquia Inc. — Confidential and Proprietary
Helper Modules
– Field Group (field_group)
– Field Formatter Class (field_formatter_class)
– Allow you to add wrappers and classes around fields so
that you can use the Bootstrap grid and other classes
– e.g. create a group with a class of “row” and put the
default Article node’s image and body inside it; add col-
sm-4 to image field and col-sm-8 to body field
15 ©2017 Acquia Inc. — Confidential and Proprietary
Customizing Your Theme
– scss/component/*.scss
– scss/_overrides.scss
– Contain existing styles that override Bootstrap or are
Drupal-specific
– Create new files in component for specific things – your
choice on structure e.g. _homepage.scss
– Add that file to _overrides.scss below other @import
lines
16 ©2017 Acquia Inc. — Confidential and Proprietary
Overriding Bootstrap Defaults
– dcutah/bootstrap/assets/stylesheets/bootstrap/_var
iables.scss
– Copy variables into scss/_default_variables.scss and
customize
– $brand-primary: #29aae1;
– Tons of variables exist: links, buttons, typography, grid,
navbar, etc., etc.
17 ©2017 Acquia Inc. — Confidential and Proprietary
Customizing Your Theme: Templates
– Copy twig files from templates folder in Bootstrap theme
– If not there, check folder of module that generates that
output e.g. Views (core/modules/views/templates)
– Edit twig files as needed
– Clear caches!
18 ©2017 Acquia Inc. — Confidential and Proprietary
Adding a New Region
– Copy bootstrap/templates/system/page.html.twig to
dcutah/templates/page.html.twig
– Add new region code:
{# Above Content #}
{% if page.above_content %}
{% block above_content %}
{{ page.above_content }}
{% endblock %}
{% endif %}
19 ©2017 Acquia Inc. — Confidential and Proprietary
Adding a New Region (cont.)
– Edit dcutah.info.yml to add your region name under the
regions section:
help: 'Help'
above_content: 'Above Content'
content: 'Content’
– Clear all caches!
– Check in block layout to see your new region
20 ©2017 Acquia Inc. — Confidential and Proprietary
Preprocess Functions
– Use dcutah.theme with D7-style preprocess functions
– Use Bootstrap theme plugins
e.g. dcutah/src/Plugin/Preprocess/Page.php
(See https://drupal-
bootstrap.org/api/bootstrap/docs%21plugins%21README.md/group
/plugins/8)
– Or both!
(plugins go first, then .theme file)
21 ©2017 Acquia Inc. — Confidential and Proprietary
Fancy Bootstrap
22 ©2017 Acquia Inc. — Confidential and Proprietary
Bootstrap Layouts & Display Suite
– Download and enable bootstrap_layouts module (requires
layout_plugin module), along with ds module.
– Go to the Manage Display tab for a content type
– Choose a Bootstrap layout to use
– You can then position page elements in the various regions of
the Bootstrap layout
– You also get new fields for Title, Submitted by, Author, etc.
thanks to DS
23 ©2017 Acquia Inc. — Confidential and Proprietary
Bootstrap Layouts & Panels
– Panels should be able to use Bootstrap Layouts too
– Killed my system when installed Panels 4.1
– Uses Layout Discovery experimental module instead of
Layout Plugin, which BL 8.x-4.1 depended on
– Need to use BL 8.x-5.x
– Requires CTools and Page Manager modules (separate
now)
24 ©2017 Acquia Inc. — Confidential and Proprietary
Bonus Tip
25 ©2017 Acquia Inc. — Confidential and Proprietary
Manually Remove a Module
– Manually edit the config table where name =
'core.extension' and remove the module from the data
blob which is a serialized array e.g. i:0;s:6:”panels";
– Decrement the module array length as well near the
beginning (...s:6:"module";a:HERE;{...)
– Truncate the cache_config table
26 ©2017 Acquia Inc. — Confidential and Proprietary
Useful Links
– https://www.drupal.org/project/bootstrap
– https://www.drupal.org/project/field_group
– https://www.drupal.org/project/field_formatter_class
– https://www.drupal.org/project/bootstrap_layouts
– https://www.drupal.org/project/layout_plugin
– https://www.drupal.org/project/ds
– https://drupal-bootstrap.org/api/bootstrap
– http://getbootstrap.com/
27 ©2017 Acquia Inc. — Confidential and Proprietary
Thank You

More Related Content

What's hot

AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013
Andrew Khoury
 
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site FactoryDrupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Acquia
 
Aem hub oak 0.2 full
Aem hub oak 0.2 fullAem hub oak 0.2 full
Aem hub oak 0.2 fullMichael Marth
 
AEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly tools
Ashokkumar T A
 
Adobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric HueslerAdobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric HueslerAEM HUB
 
Best Practices for Migrating a Legacy-Based CMS to Drupal
Best Practices for Migrating a Legacy-Based CMS to DrupalBest Practices for Migrating a Legacy-Based CMS to Drupal
Best Practices for Migrating a Legacy-Based CMS to DrupalAcquia
 
Creating Dynamic Sidebars & Widgets in WordPress
Creating Dynamic Sidebars & Widgets in WordPressCreating Dynamic Sidebars & Widgets in WordPress
Creating Dynamic Sidebars & Widgets in WordPress
Jason Yingling
 
Webpack
WebpackWebpack
Managing Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large NetworkManaging Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large Network
William Earnhardt
 
Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal BasicsJuha Niemi
 
React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016
Justin Gordon
 
CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013
Andrew Khoury
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016
AdobeMarketingCloud
 
React.js for Rails Developers
React.js for Rails DevelopersReact.js for Rails Developers
React.js for Rails Developers
Arkency
 
The War on ActionView with Russian Doll Caching
The War on ActionView with Russian Doll CachingThe War on ActionView with Russian Doll Caching
The War on ActionView with Russian Doll Caching
Peter Giacomo Lombardo
 
Angular vs React for Web Application Development
Angular vs React for Web Application DevelopmentAngular vs React for Web Application Development
Angular vs React for Web Application Development
FITC
 
Building faster websites: web performance with WordPress
Building faster websites: web performance with WordPressBuilding faster websites: web performance with WordPress
Building faster websites: web performance with WordPress
Johannes Siipola
 
Drupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin SystemDrupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin System
Acquia
 
Getting started with angular js
Getting started with angular jsGetting started with angular js
Getting started with angular js
Maurice De Beijer [MVP]
 

What's hot (20)

AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013AEM (CQ) Dispatcher Caching Webinar 2013
AEM (CQ) Dispatcher Caching Webinar 2013
 
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site FactoryDrupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
Drupal Step-by-Step: Building a Drupal Site with Acquia Cloud Site Factory
 
Aem hub oak 0.2 full
Aem hub oak 0.2 fullAem hub oak 0.2 full
Aem hub oak 0.2 full
 
AEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly tools
 
Adobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric HueslerAdobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric Huesler
 
Best Practices for Migrating a Legacy-Based CMS to Drupal
Best Practices for Migrating a Legacy-Based CMS to DrupalBest Practices for Migrating a Legacy-Based CMS to Drupal
Best Practices for Migrating a Legacy-Based CMS to Drupal
 
Creating Dynamic Sidebars & Widgets in WordPress
Creating Dynamic Sidebars & Widgets in WordPressCreating Dynamic Sidebars & Widgets in WordPress
Creating Dynamic Sidebars & Widgets in WordPress
 
Webpack
WebpackWebpack
Webpack
 
Managing Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large NetworkManaging Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large Network
 
Introduction to Drupal Basics
Introduction to Drupal BasicsIntroduction to Drupal Basics
Introduction to Drupal Basics
 
Drupal Bootcamp Mcn2008
Drupal Bootcamp   Mcn2008Drupal Bootcamp   Mcn2008
Drupal Bootcamp Mcn2008
 
React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016
 
CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016
 
React.js for Rails Developers
React.js for Rails DevelopersReact.js for Rails Developers
React.js for Rails Developers
 
The War on ActionView with Russian Doll Caching
The War on ActionView with Russian Doll CachingThe War on ActionView with Russian Doll Caching
The War on ActionView with Russian Doll Caching
 
Angular vs React for Web Application Development
Angular vs React for Web Application DevelopmentAngular vs React for Web Application Development
Angular vs React for Web Application Development
 
Building faster websites: web performance with WordPress
Building faster websites: web performance with WordPressBuilding faster websites: web performance with WordPress
Building faster websites: web performance with WordPress
 
Drupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin SystemDrupal 8 Deep Dive: Plugin System
Drupal 8 Deep Dive: Plugin System
 
Getting started with angular js
Getting started with angular jsGetting started with angular js
Getting started with angular js
 

Similar to How to Create a Drupal 8 Theme Using Bootstrap

vitepress-en.pdf
vitepress-en.pdfvitepress-en.pdf
vitepress-en.pdf
ssuser65180a
 
Sitecore 10 XC SXA frontend development using the SXA Storefront Branded
Sitecore 10 XC SXA frontend development using the SXA Storefront BrandedSitecore 10 XC SXA frontend development using the SXA Storefront Branded
Sitecore 10 XC SXA frontend development using the SXA Storefront Branded
Serge van den Oever
 
Adopt or hack - how to hack a theme in a Drupal way
Adopt or hack - how to hack a theme in a Drupal wayAdopt or hack - how to hack a theme in a Drupal way
Adopt or hack - how to hack a theme in a Drupal way
Marek Sotak
 
BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12
ucbdrupal
 
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style GuidesAdvanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
Aidan Foster
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
Thomas Daly
 
Introduction of webpack 4
Introduction of webpack 4Introduction of webpack 4
Introduction of webpack 4
Vijay Shukla
 
Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016
David Brattoli
 
Creating custom themes in AtoM
Creating custom themes in AtoMCreating custom themes in AtoM
Creating custom themes in AtoM
Artefactual Systems - AtoM
 
Drupal Step-by-Step: How We Built Our Training Site, Part 2
Drupal Step-by-Step: How We Built Our Training Site, Part 2Drupal Step-by-Step: How We Built Our Training Site, Part 2
Drupal Step-by-Step: How We Built Our Training Site, Part 2Acquia
 
Drupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with ZenDrupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with Zen
Japo Domingo
 
Death of a Themer
Death of a ThemerDeath of a Themer
Death of a Themer
James Panton
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015
Joe Querin
 
An introduction to bootstrap
An introduction to bootstrapAn introduction to bootstrap
An introduction to bootstrap
Mind IT Systems
 
Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress Themes
Laura Hartwig
 
Drupal 7 install with modules and themes
Drupal 7 install with modules and themesDrupal 7 install with modules and themes
Drupal 7 install with modules and themesGeshan Manandhar
 

Similar to How to Create a Drupal 8 Theme Using Bootstrap (20)

vitepress-en.pdf
vitepress-en.pdfvitepress-en.pdf
vitepress-en.pdf
 
Sitecore 10 XC SXA frontend development using the SXA Storefront Branded
Sitecore 10 XC SXA frontend development using the SXA Storefront BrandedSitecore 10 XC SXA frontend development using the SXA Storefront Branded
Sitecore 10 XC SXA frontend development using the SXA Storefront Branded
 
Adopt or hack - how to hack a theme in a Drupal way
Adopt or hack - how to hack a theme in a Drupal wayAdopt or hack - how to hack a theme in a Drupal way
Adopt or hack - how to hack a theme in a Drupal way
 
BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12
 
Build
BuildBuild
Build
 
Build
BuildBuild
Build
 
Build
BuildBuild
Build
 
Build
BuildBuild
Build
 
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style GuidesAdvanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 
Introduction of webpack 4
Introduction of webpack 4Introduction of webpack 4
Introduction of webpack 4
 
Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016
 
Creating custom themes in AtoM
Creating custom themes in AtoMCreating custom themes in AtoM
Creating custom themes in AtoM
 
Drupal Step-by-Step: How We Built Our Training Site, Part 2
Drupal Step-by-Step: How We Built Our Training Site, Part 2Drupal Step-by-Step: How We Built Our Training Site, Part 2
Drupal Step-by-Step: How We Built Our Training Site, Part 2
 
Drupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with ZenDrupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with Zen
 
Death of a Themer
Death of a ThemerDeath of a Themer
Death of a Themer
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015
 
An introduction to bootstrap
An introduction to bootstrapAn introduction to bootstrap
An introduction to bootstrap
 
Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress Themes
 
Drupal 7 install with modules and themes
Drupal 7 install with modules and themesDrupal 7 install with modules and themes
Drupal 7 install with modules and themes
 

More from Acquia

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdf
Acquia
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next Level
Acquia
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
Acquia
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022
Acquia
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022
Acquia
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story
Acquia
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Acquia
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Acquia
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner Bootcamp
Acquia
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcamp
Acquia
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner Bootcamp
Acquia
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner Bootcamp
Acquia
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
Acquia
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Acquia
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless future
Acquia
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutions
Acquia
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
Acquia
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Acquia
 

More from Acquia (20)

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdf
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdf
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next Level
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner Bootcamp
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcamp
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner Bootcamp
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner Bootcamp
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless future
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutions
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
 

Recently uploaded

Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 

Recently uploaded (20)

Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 

How to Create a Drupal 8 Theme Using Bootstrap

  • 1. 1 ©2017 Acquia Inc. — Confidential and Proprietary Dave Myburgh, Senior Engineer, Acquia Inc. Creating a Custom Bootstrap Subtheme for Drupal 8
  • 2. 2 ©2017 Acquia Inc. — Confidential and Proprietary Who Am I? – Senior Engineer at Acquia, Inc. since 2011 – Maintain www.acquia.com, along with dev., engage., partners., and training.acquia.com – Jack-of-all-trades: site building, front-end, back-end – Started with Drupal 4.7, with theming mostly – Learned PHP by hacking Drupal
  • 3. 3 ©2017 Acquia Inc. — Confidential and Proprietary What We Will Cover – Installing new Bootstrap theme – Creating a subtheme – Naming the subtheme – Customizing subtheme – Overriding Bootstrap variables (Sass) – Template overrides – Optional: Bootstrap Layouts (Panels/Display Suite)
  • 4. 4 ©2017 Acquia Inc. — Confidential and Proprietary Installing Bootstrap
  • 5. 5 ©2017 Acquia Inc. — Confidential and Proprietary Installation – Get Bootstrap theme into your /theme folder drush dl bootstrap, or download and decompress) – Copy starterkits folder of your choice to /theme folder cp –R bootstrap/starterkits/sass dcutah – You should have this: /themes/bootstrap /themes/dcutah – Note that less and sass starterkits will have compiler requirements (node.js, ruby, compass, grunt, gulp, etc.)
  • 6. 6 ©2017 Acquia Inc. — Confidential and Proprietary Rename & Edit Files – THEMENAME.libraries.yml – THEMENAME.starterkit.yml (edit) – THEMENAME.theme – config/install/THEMENAME.settings.yml – config/schema/THEMENAME.schema.yml (edit) – change THEMENAME to dcutah – change starterkit to info – edit files where noted to change info inside them
  • 7. 7 ©2017 Acquia Inc. — Confidential and Proprietary Edit dcutah.info.yml name: 'THEMETITLE' description: 'Uses the Bootstrap framework Sass source files and must be compiled (not for beginners).' libraries: - 'THEMENAME/global-styling' - 'THEMENAME/bootstrap-scripts'
  • 8. 8 ©2017 Acquia Inc. — Confidential and Proprietary Edit config/schema/dcutah.schema.yml THEMENAME.settings: type: theme_settings label: 'THEMETITLE settings'
  • 9. 9 ©2017 Acquia Inc. — Confidential and Proprietary Install Bootstrap Source Files – Only for less or sass starterkits – Download and extract the 3.x Sass source files into your theme folder, so that you have /themes/dcutah/bootstrap https://github.com/twbs/bootstrap-sass/archive/v3.3.7.tar.gz – cdn starterkit only has css/styles.css for you to override default styles – easy!
  • 10. 10 ©2017 Acquia Inc. — Confidential and Proprietary Compile Your Less/Sass Files – Whatever compiler you’re using, you will need to compile your source files. – Make sure your dcutah.libraries.yml file is pointing to the compiled stylesheet I used compass without a config.rb file, so had to rename scss to sass and change path in libraries.yml from css/style.css to stylesheets/style.css – Clear all caches!
  • 11. 11 ©2017 Acquia Inc. — Confidential and Proprietary Enable Themes – Enable Bootstrap AND DCUtah themes. – Make DCUtah the default theme. – You’ll now have a very boring looking Bootstrap theme with some badly placed blocks. – Go ahead and configure blocks and various settings to your liking.
  • 12. 12 ©2017 Acquia Inc. — Confidential and Proprietary Settings of Note – Appearance settings for custom theme – container-fluid (default: off) – img-responsive (default: on) – popovers and tooltips (default: on – performance!)
  • 13. 13 ©2017 Acquia Inc. — Confidential and Proprietary Using Bootstrap
  • 14. 14 ©2017 Acquia Inc. — Confidential and Proprietary Helper Modules – Field Group (field_group) – Field Formatter Class (field_formatter_class) – Allow you to add wrappers and classes around fields so that you can use the Bootstrap grid and other classes – e.g. create a group with a class of “row” and put the default Article node’s image and body inside it; add col- sm-4 to image field and col-sm-8 to body field
  • 15. 15 ©2017 Acquia Inc. — Confidential and Proprietary Customizing Your Theme – scss/component/*.scss – scss/_overrides.scss – Contain existing styles that override Bootstrap or are Drupal-specific – Create new files in component for specific things – your choice on structure e.g. _homepage.scss – Add that file to _overrides.scss below other @import lines
  • 16. 16 ©2017 Acquia Inc. — Confidential and Proprietary Overriding Bootstrap Defaults – dcutah/bootstrap/assets/stylesheets/bootstrap/_var iables.scss – Copy variables into scss/_default_variables.scss and customize – $brand-primary: #29aae1; – Tons of variables exist: links, buttons, typography, grid, navbar, etc., etc.
  • 17. 17 ©2017 Acquia Inc. — Confidential and Proprietary Customizing Your Theme: Templates – Copy twig files from templates folder in Bootstrap theme – If not there, check folder of module that generates that output e.g. Views (core/modules/views/templates) – Edit twig files as needed – Clear caches!
  • 18. 18 ©2017 Acquia Inc. — Confidential and Proprietary Adding a New Region – Copy bootstrap/templates/system/page.html.twig to dcutah/templates/page.html.twig – Add new region code: {# Above Content #} {% if page.above_content %} {% block above_content %} {{ page.above_content }} {% endblock %} {% endif %}
  • 19. 19 ©2017 Acquia Inc. — Confidential and Proprietary Adding a New Region (cont.) – Edit dcutah.info.yml to add your region name under the regions section: help: 'Help' above_content: 'Above Content' content: 'Content’ – Clear all caches! – Check in block layout to see your new region
  • 20. 20 ©2017 Acquia Inc. — Confidential and Proprietary Preprocess Functions – Use dcutah.theme with D7-style preprocess functions – Use Bootstrap theme plugins e.g. dcutah/src/Plugin/Preprocess/Page.php (See https://drupal- bootstrap.org/api/bootstrap/docs%21plugins%21README.md/group /plugins/8) – Or both! (plugins go first, then .theme file)
  • 21. 21 ©2017 Acquia Inc. — Confidential and Proprietary Fancy Bootstrap
  • 22. 22 ©2017 Acquia Inc. — Confidential and Proprietary Bootstrap Layouts & Display Suite – Download and enable bootstrap_layouts module (requires layout_plugin module), along with ds module. – Go to the Manage Display tab for a content type – Choose a Bootstrap layout to use – You can then position page elements in the various regions of the Bootstrap layout – You also get new fields for Title, Submitted by, Author, etc. thanks to DS
  • 23. 23 ©2017 Acquia Inc. — Confidential and Proprietary Bootstrap Layouts & Panels – Panels should be able to use Bootstrap Layouts too – Killed my system when installed Panels 4.1 – Uses Layout Discovery experimental module instead of Layout Plugin, which BL 8.x-4.1 depended on – Need to use BL 8.x-5.x – Requires CTools and Page Manager modules (separate now)
  • 24. 24 ©2017 Acquia Inc. — Confidential and Proprietary Bonus Tip
  • 25. 25 ©2017 Acquia Inc. — Confidential and Proprietary Manually Remove a Module – Manually edit the config table where name = 'core.extension' and remove the module from the data blob which is a serialized array e.g. i:0;s:6:”panels"; – Decrement the module array length as well near the beginning (...s:6:"module";a:HERE;{...) – Truncate the cache_config table
  • 26. 26 ©2017 Acquia Inc. — Confidential and Proprietary Useful Links – https://www.drupal.org/project/bootstrap – https://www.drupal.org/project/field_group – https://www.drupal.org/project/field_formatter_class – https://www.drupal.org/project/bootstrap_layouts – https://www.drupal.org/project/layout_plugin – https://www.drupal.org/project/ds – https://drupal-bootstrap.org/api/bootstrap – http://getbootstrap.com/
  • 27. 27 ©2017 Acquia Inc. — Confidential and Proprietary Thank You

Editor's Notes

  1. Acquia's official PPT template begins here. This is the standard presentation title slide.
  2. This is the standard content slide.
  3. This is the standard content slide.
  4. This is the standard content slide.
  5. This is the standard content slide.
  6. This is the standard content slide.
  7. This is the standard content slide.
  8. This is the standard content slide.
  9. This is the standard content slide.
  10. This is the standard content slide.
  11. This is the standard content slide.
  12. This is the standard content slide.
  13. This is the standard content slide.
  14. This is the standard content slide.
  15. This is the standard content slide.
  16. This is the standard content slide.
  17. This is the standard content slide.
  18. This is the standard content slide.
  19. This is the standard content slide.
  20. This is the standard content slide.
  21. This is the standard content slide.
  22. This is the standard content slide.
  23. This is the standard content slide.
  24. This is the standard content slide.
  25. This is the standard content slide.
  26. This is the standard content slide.
  27. This is the standard presentation ending slide.