Joomla JLayout System
BLOG:Email: me@phproberto.com
About me
● PLT member
● CMS contributor
● JBS & JSST member
● PHP & JS developer
● Freelance
Twitter: @phproberto
What is JLayout?
● Rendering library
● Helps to make everything overridable
● Helps to Don’t Repeat Yourself (DRY)
● For developers
● For integrators
● For designers
● To render HTML
● To load JS
● To load CSS
● Views
● Modules
● Plugins
● JDocument
DRY
Where?
Hierarchical overridable & customisable
templates
Coders do this
Inside non-overridable files!
Let’s make frontenders happy!
“Pleasure in the job puts perfection in the work”
Aristotle
Imagine yourself
forced to use
WordPress
everyday!
I mean...
imagine it!
● Reusability
● Untie data & design
● Great tool for extensions
● HMVC
Benefits of JLayout
Better for everybody!
How a JLayout call looks like?
Instanced:
JLayout helper:
(highly customisable)
(fast use)
How to override layouts?
/layouts
/components/com_foo/layouts
/templates/my_tpl/html/layouts
/templates/my_tpl/html/layouts/com_foo
(global)
(global override)
(component override)
(overriden component override)
Force component layouts:
Force client:
Advanced options
Suffixes:
Custom includepaths:
Advanced options (II)
joomla/content/tags.j3x.php > joomla/content/tags.j25.php > joomla/content/tags.php
Sublayouts:
Advanced options (III)
overridable independently
layouts as source for PDF :)
Debug mode
Already proposed features
Chainable methods:
Dynamic suffixes:
Already proposed features (II)
Automatic version suffixes:
Already proposed features (III)
Automatic language suffixes:
Already proposed features (IV)
Prefixes support:
Layout system benchmark
~0.1s each 100 layouts
Debug console + cache (V)
What’s next?
Frontenders Working Group
● 100% overridable markup
● Accessibility
● User Experience
● Standards
● Documentation
● Bootstrap to layer
Move views to template
Joomla JLayout

Joomla JLayout