Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
How to customise Joomla
Sydney Joomla User Group
Presented by Tim Plummer
Why would you want to customise
• Don’t want all websites to look the same
• Everyone has different requirements
• Out of ...
Challenges you face
• Having to reapply changes (if you hack core
code)
• Keeping track of all the customisations
• Confli...
Why Joomla is easy to customise
• MVC coding (model – view – controller)
– Separation of view (what you see) to data (mode...
Ways to customise
• Apply different template
• Template overrides
• Alternative Layouts
• Language overrides
• Media overr...
Site template
• Can completely change look and feel by
changing template
• Install third party template or create your own...
Same content, different template
Custom CSS
Some site templates have custom CSS option
where you can put your styles
Others have a custom.css or user.css f...
Template overrides
• Allows you to change output of extension
– Adjust output formatting/style
– Remove unwanted functiona...
Example of module override
• If you wanted to remove the “forgot your
username” on login module
How to create override
Extensions->templates->Templates
Select your template
How to create override
Select “Create
Overrides”
tab, and
choose what
to override
How to create override
Expand HTML folder,
choose extension you are
overriding, and edit the
default.php file
How to create override
Remove the text/code you don’t need
How to create override
Now your change has taken effect
Things to be aware of
• Overridden files will never be updated, so if
new feature is added to component/module
then you ma...
Alternative Layouts
• Apply different output formatting to same
content
• Similar to template override, but file has
diffe...
Alternative Layouts
How to create alternative layout
Start with a template override
How to create alternative layout
• Rename the override file
How to create alternative layout
• Customise the layout file as needed
• Apply new alternative layout to content
How to create alternative layout
Example of how you could implement 2 column
layout
Change to
Same content, different layout
Language Overrides
Change any text in Joomla
Site = front end
Administrator = back end
Why override language string?
• Allows you to customise any text in Joomla
core or third party extensions
• Text changes w...
How to create language override
• For example, if you want to change “forgot
your password?” on the login form
How to create language override
Search for text, and select language string
How to create language override
Change the text, then save and close
How to create language override
Text has now changed
Media Overrides
• Any third party extension build with Akeeba
Framework On Framework (FOF) will
automatically support medi...
How to create media override
You can override FOF media files by copying
from /media/component_name/css/yourfile.css
to /t...
How to create media override
Same form with different CSS due to media override
Plugins
• Plugins can allow you to customise Joomla
– Transforming data (eg. Phone number to click to
call link)
– Add ext...
Example of user profile plugin
Questions?
Tim Plummer
www.tamlynsoftware.com
@bfsurvey
Upcoming SlideShare
Loading in …5
×

How to customise Joomla

1,964 views

Published on

This month we took a look at some ways that you can customise Joomla without hacking the core files.

Published in: Software
  • Be the first to comment

  • Be the first to like this

How to customise Joomla

  1. 1. How to customise Joomla Sydney Joomla User Group Presented by Tim Plummer
  2. 2. Why would you want to customise • Don’t want all websites to look the same • Everyone has different requirements • Out of the box solution doesn’t quite do what you need it to
  3. 3. Challenges you face • Having to reapply changes (if you hack core code) • Keeping track of all the customisations • Conflicting code
  4. 4. Why Joomla is easy to customise • MVC coding (model – view – controller) – Separation of view (what you see) to data (model talks to database) • Open source and licensed under GPL – Access to all unencrypted source files – GPL allows you to make whatever changes you need • Ability to override almost everything
  5. 5. Ways to customise • Apply different template • Template overrides • Alternative Layouts • Language overrides • Media overrides • Plugins
  6. 6. Site template • Can completely change look and feel by changing template • Install third party template or create your own • Different templates can apply to different pages of your site
  7. 7. Same content, different template
  8. 8. Custom CSS Some site templates have custom CSS option where you can put your styles Others have a custom.css or user.css file which is not overwritten during updates (you may need to manually create this)
  9. 9. Template overrides • Allows you to change output of extension – Adjust output formatting/style – Remove unwanted functionality – Add your own new functionality • Can create template overrides for components and modules
  10. 10. Example of module override • If you wanted to remove the “forgot your username” on login module
  11. 11. How to create override Extensions->templates->Templates Select your template
  12. 12. How to create override Select “Create Overrides” tab, and choose what to override
  13. 13. How to create override Expand HTML folder, choose extension you are overriding, and edit the default.php file
  14. 14. How to create override Remove the text/code you don’t need
  15. 15. How to create override Now your change has taken effect
  16. 16. Things to be aware of • Overridden files will never be updated, so if new feature is added to component/module then you may not be benefit from changes • Overrides are stored in your template, so if you change template you will also need to reapply overrides
  17. 17. Alternative Layouts • Apply different output formatting to same content • Similar to template override, but file has different name • The only rule is that the file name should not have any underscores in it
  18. 18. Alternative Layouts
  19. 19. How to create alternative layout Start with a template override
  20. 20. How to create alternative layout • Rename the override file
  21. 21. How to create alternative layout • Customise the layout file as needed • Apply new alternative layout to content
  22. 22. How to create alternative layout Example of how you could implement 2 column layout Change to
  23. 23. Same content, different layout
  24. 24. Language Overrides Change any text in Joomla Site = front end Administrator = back end
  25. 25. Why override language string? • Allows you to customise any text in Joomla core or third party extensions • Text changes will not be affected by upgrades
  26. 26. How to create language override • For example, if you want to change “forgot your password?” on the login form
  27. 27. How to create language override Search for text, and select language string
  28. 28. How to create language override Change the text, then save and close
  29. 29. How to create language override Text has now changed
  30. 30. Media Overrides • Any third party extension build with Akeeba Framework On Framework (FOF) will automatically support media overrides • Like template overrides, but for CSS, JS and image files
  31. 31. How to create media override You can override FOF media files by copying from /media/component_name/css/yourfile.css to /templates/yourtempalte/component_name/css/yourfile.css For example: /media/com_bfsurvey/css/theme_blue.css /templates/protostar/media/com_bfsurvey/css/theme_blue.css Note you may need to created media folder in your template.
  32. 32. How to create media override Same form with different CSS due to media override
  33. 33. Plugins • Plugins can allow you to customise Joomla – Transforming data (eg. Phone number to click to call link) – Add extra fields (user profile plugin) – Override core functions (system plugin that loads before core funtion) • Can be triggered by events (such as contentprepare), or can run all the time (system plugins)
  34. 34. Example of user profile plugin
  35. 35. Questions?
  36. 36. Tim Plummer www.tamlynsoftware.com @bfsurvey

×