SlideShare une entreprise Scribd logo
1  sur  18
Joomla!
3Bootstrap
Joomladagen 2014
Henk Rijneveld
Joomladagen 2014
Henk Rijneveld
De case
Joomla 1.5
Inclusief legacy optie
Flash fotoboek
Ooit gehackt
Nu helemaal read-only
Joomla 3.laatst
Helemaal responsive
Fixed kop- en voetgebied
Specifieke chrome
Zoveel mogelijk zelf
Bootstrap 3.1.1 en 2.3.2
> 100 css-classes gewijzigd, verwijderd, nieuw;
GRID – systeem op de schop (altijd responsive);
Visible en Hide classes o.b.v. pixels, niet device;
Bootstrap in J3 gefixeerd op 2.3.2 (media/jui)
●
Core (3.2) nauwelijks bootstrapafhankelijk (dropdown en tooltip).
●
3rd
-party soms wel afhankelijk, wordt wellicht meer
Niet backwards-compatibel!
Waarom B 3 gebruiken?
Mijn uitgangspunt:
Joomla! is een CMS
dus:
Ben ik volledig vrij in het ux-ontwerp
en:
Ik wil testen of dat zo is.
#omdathetkan
Geldt alleen voor
frontend(!)
Aanvalsplan
●
Inlezen en PoC's;
● Joomla en Bootstrap 3;
● B 3 basistemplate en LESS (sticky-footer-with-navbar);
● Eigen GRID definiëren en opzetten;
● Modules en zo plaatsen;
● Content responsive vullen (Form2Content);
● Override voor corecomponent(s) (fix op 2.3.2);
● Overrides voor Joomgallery (niet responsive ootbx);
● Testen... Testen... Testen...
jQuery en Less
jQuery tijdens runtime in de browser
“It makes things like HTML document traversal and
manipulation, event handling, animation, and Ajax much
simpler”
LESS tijdens developmenttime
“LESS extends CSS with dynamic behavior such as variables,
mixins, operations and functions”
@geel: #F0CC01;
H1 {
color: @geel;
}
P {
Border-bottom: @geel;
}
@geel: #F0CC01;
H1 {
color: @geel;
}
P {
Border-bottom: @geel;
}
.seethrough {
color: fadeout(@geel, 10%);
}
#menu a {
text-decoration: underline;
.seethrough; // mixin
}
.seethrough {
color: fadeout(@geel, 10%);
}
#menu a {
text-decoration: underline;
.seethrough; // mixin
}
LESS Structuur
node.js +
Lessc +
PHP Storm
Winless
en/of
simpLESS
node.js +
Lessc +
PHP Storm
Winless
en/of
simpLESS
template.csstemplate.css template-editor.csstemplate-editor.css
template.lesstemplate.less template-editor.lesstemplate-editor.less
variables.lessvariables.less
typography.lesstypography.less
layout-editor.lesslayout-editor.less
reset.lessreset.less
layout.lesslayout.less
responsive.lessresponsive.less
Bootstrap.lessBootstrap.less
Nestbaar
Responsive
Grid
12 col. default
Nestbaar
Responsive
Grid
12 col. default
Typografie
incl.
Normalize
Typografie
incl.
Normalize
Responsive
cssclasses
Responsive
cssclasses
Pagina-
elementen
zonder JS
Pagina-
elementen
zonder JS
jQuery
plugins
jQuery
plugins
Wat is Bootstrap
“Sleek, intuitive, and powerful mobile first*
front-end framework for faster and easier web
development” * sinds versie 3.0
4 breek-
Punten
4 breek-
Punten Forms,
Buttons
Forms,
ButtonsTabellenTabellen
Pagina-
elementen
met JS
Pagina-
elementen
met JS
Website
+
Examples
Website
+
Examples
Oplossing versieconflict
Laat mootools aan Joomla! over
Joomla! jquery en noconflict etc ook (JHtml::_('jquery.framework'))
Als Joomla! Bootstrap2.3.2.js wil laden: ongedaan maken en melding geven
Laadt in template Bootstrap3.js
Als Joomla Bootstrap css wil laden: melding en echt probleem!
Laadt in template Bootstrap3.css
Elk conflict: in principe template override
Het GRID
http://www.helloerik.com/bootstrap-3-grid-introduction
Start mobile first, daarna uitbouwen:
XS SM MD LG→ → →
mob
col-xs-4 col-xs-4 col-xs-4
desk
col-sm-1
hidden-xs
col-sm-2 col-sm-2 col-sm-3
hidden-xs
col-sm-4
GRID-Markup
<div class="container">
<div class="row">
<div class="hidden-xs col-sm-1">
// Marge (of col-sm-offset-1 in volgende div)
</div>
<div class="col-xs-4 col-sm-2">
// Socialmedia bekijken
</div>
<div class="col-xs-4 col-sm-2">
// Socialmedia volgen
</div>
<div class="hidden-xs col-sm-3">
// Webkoppellink
</div>
<div class="col-xs-4 col-sm-4">
// Adres- en contactgegevens
</div>
</div>
</div>
GRID-Semantisch
<div class="container">
...
<div class="voet">
<div class="kijken">
// SOCIAL MEDIA KIJKEN
</div>
<div class="volgen">
// SOCIAL MEDIA VOLGEN
</div>
<div class="mijnblog">
// WEBKOPPELLINK
</div>
<div class="adres">
// ADRES EN CONTACT
</div>
</div>
</div>
GRID-Less
.voet {
.make-row();
}
.kijken {
.make-xs-column(4);
.make-sm-column(2);
.make-sm-column-offset(1);
}
.volgen {
.make-xs-column(4);
.make-sm-column(2);
}
.mijnblog {
.make-sm-column(3);
.hidden-xs();
}
Form2Content
ISSUE:
Responsive laat weinig ruimte voor specifieke
lay-out (img-responsive vs vaste grootte)
Een oplossing:
Form2Content: blijft dicht bij core
Definieer
Document
Velden
Definieer
Document
Velden
Maak
(Smarty)
Template
Maak
(Smarty)
Template
Vul
Document
Vul
Document
Genereer
Joomla
Artikel
Genereer
Joomla
Artikel
Core
●
Search laadt tooltip (JS)
●
Beheerfuncties:
●
Login
●
Edit
●
…
●
Deel van com_content functies
●
Oplossing: mixins of overrides
Joomgallery
●
Bootstrap responsive bij img alleen op width;
●
Joomgallery forceert width en height;
●
Toevoegen class portrait en landscape;
●
(slechts) vier bestanden, ~15 regels code
responsive fotoboek.
Testen
1280x1024
2010
1280x1024
XP W7 XP
6-8 7-9
2013
2008
2560 x 1440
1920 x 1080
1376 x 768 touch
W7
W8.1
W7
10
8
11
XP IOS 7
Galaxy S2
iPhone
2014?
8
Experimenteren?
● getbootstrap.com
● http://www.helloerik.com voor het Grid
● template-Template op henkrijneveld.nl

Contenu connexe

Tendances

Joomla websites beheren - Joomla!Days NL 2010 #jd10nl
Joomla websites beheren -  Joomla!Days NL 2010 #jd10nlJoomla websites beheren -  Joomla!Days NL 2010 #jd10nl
Joomla websites beheren - Joomla!Days NL 2010 #jd10nl
Joomla!Days Netherlands
 

Tendances (20)

Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)
Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)
Complexe pagina's gebruiksvriendelijk (Joomla Page Builders)
 
Joomla in een doosje
Joomla in een doosjeJoomla in een doosje
Joomla in een doosje
 
Joomla Bugs, Patches & Fun - Joomladagen 2014
Joomla Bugs, Patches & Fun - Joomladagen 2014Joomla Bugs, Patches & Fun - Joomladagen 2014
Joomla Bugs, Patches & Fun - Joomladagen 2014
 
Going live with a Checklist
Going live with a ChecklistGoing live with a Checklist
Going live with a Checklist
 
Joomla componenten bouwen met Component Creator
Joomla componenten bouwen met Component CreatorJoomla componenten bouwen met Component Creator
Joomla componenten bouwen met Component Creator
 
Beter vindbaar met Onpage SEO - Maurice Lehr - #jd15nl
Beter vindbaar met Onpage SEO - Maurice Lehr - #jd15nlBeter vindbaar met Onpage SEO - Maurice Lehr - #jd15nl
Beter vindbaar met Onpage SEO - Maurice Lehr - #jd15nl
 
Joomladagen 2016: Top 10 joomla SEO bloopers
Joomladagen 2016: Top 10 joomla SEO bloopersJoomladagen 2016: Top 10 joomla SEO bloopers
Joomladagen 2016: Top 10 joomla SEO bloopers
 
Joomla! gebruiksvriendelijker. 10 tips!
Joomla! gebruiksvriendelijker. 10 tips!Joomla! gebruiksvriendelijker. 10 tips!
Joomla! gebruiksvriendelijker. 10 tips!
 
Linux command-line-magic-jdnl15
Linux command-line-magic-jdnl15Linux command-line-magic-jdnl15
Linux command-line-magic-jdnl15
 
Daarom Joomla! - Makkelijk content publiceren
Daarom Joomla! - Makkelijk content publicerenDaarom Joomla! - Makkelijk content publiceren
Daarom Joomla! - Makkelijk content publiceren
 
Joomla core SEO - Joomla SEO Expert Sessie
Joomla core SEO - Joomla SEO Expert SessieJoomla core SEO - Joomla SEO Expert Sessie
Joomla core SEO - Joomla SEO Expert Sessie
 
Joomla 3.6: nieuwe router - Joomla SEO Expert Sessie
Joomla 3.6: nieuwe router - Joomla SEO Expert SessieJoomla 3.6: nieuwe router - Joomla SEO Expert Sessie
Joomla 3.6: nieuwe router - Joomla SEO Expert Sessie
 
Een autodealer website bouwen met Form2Content
Een autodealer website bouwen met Form2ContentEen autodealer website bouwen met Form2Content
Een autodealer website bouwen met Form2Content
 
Presentatie nieuwsbrieven joomladagen
Presentatie nieuwsbrieven joomladagenPresentatie nieuwsbrieven joomladagen
Presentatie nieuwsbrieven joomladagen
 
Social Media & SEO - Joomla SEO Expert Sessie
Social Media & SEO - Joomla SEO Expert SessieSocial Media & SEO - Joomla SEO Expert Sessie
Social Media & SEO - Joomla SEO Expert Sessie
 
Joomla websites beheren - Joomla!Days NL 2010 #jd10nl
Joomla websites beheren -  Joomla!Days NL 2010 #jd10nlJoomla websites beheren -  Joomla!Days NL 2010 #jd10nl
Joomla websites beheren - Joomla!Days NL 2010 #jd10nl
 
Data optimaliseren voor tablet en mobiel
Data optimaliseren voor tablet en mobielData optimaliseren voor tablet en mobiel
Data optimaliseren voor tablet en mobiel
 
Templates maken met Helix 3 framework - Presentatie Eric Tiggeler Joomladage...
Templates maken met Helix 3 framework  - Presentatie Eric Tiggeler Joomladage...Templates maken met Helix 3 framework  - Presentatie Eric Tiggeler Joomladage...
Templates maken met Helix 3 framework - Presentatie Eric Tiggeler Joomladage...
 
Gebruiksvriendelijkheid verhogen met template overrides - Expert Sessie Jooml...
Gebruiksvriendelijkheid verhogen met template overrides - Expert Sessie Jooml...Gebruiksvriendelijkheid verhogen met template overrides - Expert Sessie Jooml...
Gebruiksvriendelijkheid verhogen met template overrides - Expert Sessie Jooml...
 
Top 10 Joomla SEO Bloopers - Joomla SEO Expert Sessie
Top 10 Joomla SEO Bloopers - Joomla SEO Expert SessieTop 10 Joomla SEO Bloopers - Joomla SEO Expert Sessie
Top 10 Joomla SEO Bloopers - Joomla SEO Expert Sessie
 

En vedette

En vedette (9)

Joomla 2.5 made easy
Joomla 2.5 made easyJoomla 2.5 made easy
Joomla 2.5 made easy
 
Joomla 3 - An overview
Joomla 3 - An overviewJoomla 3 - An overview
Joomla 3 - An overview
 
learn ANDROID at AMC Square Learning
learn ANDROID at AMC Square Learninglearn ANDROID at AMC Square Learning
learn ANDROID at AMC Square Learning
 
Joomla Template Tutorial
Joomla Template TutorialJoomla Template Tutorial
Joomla Template Tutorial
 
Joomla Beginner Template Presentation
Joomla Beginner Template PresentationJoomla Beginner Template Presentation
Joomla Beginner Template Presentation
 
Joomla 2.5 New Features and Hidden Gems
Joomla 2.5 New Features and Hidden GemsJoomla 2.5 New Features and Hidden Gems
Joomla 2.5 New Features and Hidden Gems
 
Journey of an event, the android touch - Marco Cova, Facebook
Journey of an event, the android touch - Marco Cova, FacebookJourney of an event, the android touch - Marco Cova, Facebook
Journey of an event, the android touch - Marco Cova, Facebook
 
Joomla 2.5 Tutorial For Beginner PDF
Joomla 2.5 Tutorial For Beginner PDFJoomla 2.5 Tutorial For Beginner PDF
Joomla 2.5 Tutorial For Beginner PDF
 
Android presentation
Android presentationAndroid presentation
Android presentation
 

Similaire à Joomla & Bootstrap 3

Html5 jeugdwerknet
Html5 jeugdwerknetHtml5 jeugdwerknet
Html5 jeugdwerknet
Hans Rossel
 
Magento cursus: theme opzetten & beheren
Magento cursus: theme opzetten & beherenMagento cursus: theme opzetten & beheren
Magento cursus: theme opzetten & beheren
Michel Doens
 

Similaire à Joomla & Bootstrap 3 (20)

3.2 bootstrap introductie
3.2 bootstrap introductie3.2 bootstrap introductie
3.2 bootstrap introductie
 
Presentatie joomla3 responsive Protostar template
Presentatie joomla3 responsive Protostar templatePresentatie joomla3 responsive Protostar template
Presentatie joomla3 responsive Protostar template
 
Jug010 120320-templates
Jug010 120320-templatesJug010 120320-templates
Jug010 120320-templates
 
The power of joomla!
The power of joomla!The power of joomla!
The power of joomla!
 
The power of joomla!
The power of joomla!The power of joomla!
The power of joomla!
 
Templates maken met helix framework Joomla User Group Utrecht 10 november 2014
Templates maken met helix framework  Joomla User Group Utrecht 10 november 2014Templates maken met helix framework  Joomla User Group Utrecht 10 november 2014
Templates maken met helix framework Joomla User Group Utrecht 10 november 2014
 
Template overrides - Joomladagen 2010 #jd10nl
Template overrides - Joomladagen 2010 #jd10nlTemplate overrides - Joomladagen 2010 #jd10nl
Template overrides - Joomladagen 2010 #jd10nl
 
Introduction to Bootstrap (with XPages)
Introduction to Bootstrap (with XPages)Introduction to Bootstrap (with XPages)
Introduction to Bootstrap (with XPages)
 
Drupal introductie - GoalGorilla - Oxilion Lunch &amp; Learn
Drupal introductie - GoalGorilla - Oxilion Lunch &amp; LearnDrupal introductie - GoalGorilla - Oxilion Lunch &amp; Learn
Drupal introductie - GoalGorilla - Oxilion Lunch &amp; Learn
 
4.2 bootstrap 2
4.2 bootstrap 24.2 bootstrap 2
4.2 bootstrap 2
 
Html5 jeugdwerknet
Html5 jeugdwerknetHtml5 jeugdwerknet
Html5 jeugdwerknet
 
Zelf je Joomla! template bouwen voor beginners
Zelf je Joomla! template bouwen voor beginnersZelf je Joomla! template bouwen voor beginners
Zelf je Joomla! template bouwen voor beginners
 
Magento cursus: theme opzetten & beheren
Magento cursus: theme opzetten & beherenMagento cursus: theme opzetten & beheren
Magento cursus: theme opzetten & beheren
 
1.3 html css basis 2
1.3 html css basis 21.3 html css basis 2
1.3 html css basis 2
 
4.1 bootstrap introductie
4.1 bootstrap introductie4.1 bootstrap introductie
4.1 bootstrap introductie
 
Joomla
JoomlaJoomla
Joomla
 
HTML 5 in een vogelvlucht (Dutch)
HTML 5 in een vogelvlucht (Dutch)HTML 5 in een vogelvlucht (Dutch)
HTML 5 in een vogelvlucht (Dutch)
 
1.7 terugblik module 1
1.7 terugblik module 11.7 terugblik module 1
1.7 terugblik module 1
 
1.2 html css basis 1
1.2 html css basis 11.2 html css basis 1
1.2 html css basis 1
 
1.7 html css terugblik
1.7 html css terugblik1.7 html css terugblik
1.7 html css terugblik
 

Joomla & Bootstrap 3

  • 2. De case Joomla 1.5 Inclusief legacy optie Flash fotoboek Ooit gehackt Nu helemaal read-only Joomla 3.laatst Helemaal responsive Fixed kop- en voetgebied Specifieke chrome Zoveel mogelijk zelf
  • 3. Bootstrap 3.1.1 en 2.3.2 > 100 css-classes gewijzigd, verwijderd, nieuw; GRID – systeem op de schop (altijd responsive); Visible en Hide classes o.b.v. pixels, niet device; Bootstrap in J3 gefixeerd op 2.3.2 (media/jui) ● Core (3.2) nauwelijks bootstrapafhankelijk (dropdown en tooltip). ● 3rd -party soms wel afhankelijk, wordt wellicht meer Niet backwards-compatibel!
  • 4. Waarom B 3 gebruiken? Mijn uitgangspunt: Joomla! is een CMS dus: Ben ik volledig vrij in het ux-ontwerp en: Ik wil testen of dat zo is. #omdathetkan Geldt alleen voor frontend(!)
  • 5. Aanvalsplan ● Inlezen en PoC's; ● Joomla en Bootstrap 3; ● B 3 basistemplate en LESS (sticky-footer-with-navbar); ● Eigen GRID definiëren en opzetten; ● Modules en zo plaatsen; ● Content responsive vullen (Form2Content); ● Override voor corecomponent(s) (fix op 2.3.2); ● Overrides voor Joomgallery (niet responsive ootbx); ● Testen... Testen... Testen...
  • 6. jQuery en Less jQuery tijdens runtime in de browser “It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler” LESS tijdens developmenttime “LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions” @geel: #F0CC01; H1 { color: @geel; } P { Border-bottom: @geel; } @geel: #F0CC01; H1 { color: @geel; } P { Border-bottom: @geel; } .seethrough { color: fadeout(@geel, 10%); } #menu a { text-decoration: underline; .seethrough; // mixin } .seethrough { color: fadeout(@geel, 10%); } #menu a { text-decoration: underline; .seethrough; // mixin }
  • 7. LESS Structuur node.js + Lessc + PHP Storm Winless en/of simpLESS node.js + Lessc + PHP Storm Winless en/of simpLESS template.csstemplate.css template-editor.csstemplate-editor.css template.lesstemplate.less template-editor.lesstemplate-editor.less variables.lessvariables.less typography.lesstypography.less layout-editor.lesslayout-editor.less reset.lessreset.less layout.lesslayout.less responsive.lessresponsive.less Bootstrap.lessBootstrap.less
  • 8. Nestbaar Responsive Grid 12 col. default Nestbaar Responsive Grid 12 col. default Typografie incl. Normalize Typografie incl. Normalize Responsive cssclasses Responsive cssclasses Pagina- elementen zonder JS Pagina- elementen zonder JS jQuery plugins jQuery plugins Wat is Bootstrap “Sleek, intuitive, and powerful mobile first* front-end framework for faster and easier web development” * sinds versie 3.0 4 breek- Punten 4 breek- Punten Forms, Buttons Forms, ButtonsTabellenTabellen Pagina- elementen met JS Pagina- elementen met JS Website + Examples Website + Examples
  • 9. Oplossing versieconflict Laat mootools aan Joomla! over Joomla! jquery en noconflict etc ook (JHtml::_('jquery.framework')) Als Joomla! Bootstrap2.3.2.js wil laden: ongedaan maken en melding geven Laadt in template Bootstrap3.js Als Joomla Bootstrap css wil laden: melding en echt probleem! Laadt in template Bootstrap3.css Elk conflict: in principe template override
  • 10. Het GRID http://www.helloerik.com/bootstrap-3-grid-introduction Start mobile first, daarna uitbouwen: XS SM MD LG→ → → mob col-xs-4 col-xs-4 col-xs-4 desk col-sm-1 hidden-xs col-sm-2 col-sm-2 col-sm-3 hidden-xs col-sm-4
  • 11. GRID-Markup <div class="container"> <div class="row"> <div class="hidden-xs col-sm-1"> // Marge (of col-sm-offset-1 in volgende div) </div> <div class="col-xs-4 col-sm-2"> // Socialmedia bekijken </div> <div class="col-xs-4 col-sm-2"> // Socialmedia volgen </div> <div class="hidden-xs col-sm-3"> // Webkoppellink </div> <div class="col-xs-4 col-sm-4"> // Adres- en contactgegevens </div> </div> </div>
  • 12. GRID-Semantisch <div class="container"> ... <div class="voet"> <div class="kijken"> // SOCIAL MEDIA KIJKEN </div> <div class="volgen"> // SOCIAL MEDIA VOLGEN </div> <div class="mijnblog"> // WEBKOPPELLINK </div> <div class="adres"> // ADRES EN CONTACT </div> </div> </div>
  • 13. GRID-Less .voet { .make-row(); } .kijken { .make-xs-column(4); .make-sm-column(2); .make-sm-column-offset(1); } .volgen { .make-xs-column(4); .make-sm-column(2); } .mijnblog { .make-sm-column(3); .hidden-xs(); }
  • 14. Form2Content ISSUE: Responsive laat weinig ruimte voor specifieke lay-out (img-responsive vs vaste grootte) Een oplossing: Form2Content: blijft dicht bij core Definieer Document Velden Definieer Document Velden Maak (Smarty) Template Maak (Smarty) Template Vul Document Vul Document Genereer Joomla Artikel Genereer Joomla Artikel
  • 15. Core ● Search laadt tooltip (JS) ● Beheerfuncties: ● Login ● Edit ● … ● Deel van com_content functies ● Oplossing: mixins of overrides
  • 16. Joomgallery ● Bootstrap responsive bij img alleen op width; ● Joomgallery forceert width en height; ● Toevoegen class portrait en landscape; ● (slechts) vier bestanden, ~15 regels code responsive fotoboek.
  • 17. Testen 1280x1024 2010 1280x1024 XP W7 XP 6-8 7-9 2013 2008 2560 x 1440 1920 x 1080 1376 x 768 touch W7 W8.1 W7 10 8 11 XP IOS 7 Galaxy S2 iPhone 2014? 8
  • 18. Experimenteren? ● getbootstrap.com ● http://www.helloerik.com voor het Grid ● template-Template op henkrijneveld.nl