Template overrides in joomla jug073 februari 2019

A presentation at Joomla User Group ‘s-Hertogenbosch The Netherlands in February 2019 in 's Hertogenbosch, Netherlands by Hans Kuijpers

Slide 1

Slide 1

JOOMLA! TEMPLATE OVERRIDES ZET JOOMLA NAAR JE EIGEN HAND Presentatie van Hans Kuijpers

Slide 2

Slide 2

WAT IS EEN OVERRIDE? Een bestand dat ingeladen wordt in plaats van Joomla core.

Slide 3

Slide 3

WAAR ZIT DE OVERRIDE? Meestal in de actieve template.

Slide 4

Slide 4

WIE MAAKT DE OVERRIDE? Jij

Slide 5

Slide 5

WIE MAAKT DE OVERRIDE? Jij Echt waar… jij

Slide 6

Slide 6

WAAROM EEN OVERRIDE? Omdat de output van extensie of Joomla core net anders moet.

Slide 7

Slide 7

HOE DAN? Via de makkelijke manier.

Slide 8

Slide 8

HOE DAN? Via de makkelijke manier. Of een nog makkelijkere manier…

Slide 9

Slide 9

DE MAKKELIJKE MANIER

Slide 10

Slide 10

DEMO: AANPASSING VAN MODULE INLOGGEN

Slide 11

Slide 11

BUTTON “LOGIN” VERGROTEN Override maken van module mod_login

Slide 12

Slide 12

Slide 13

Slide 13

JA MAAR… CSS WIJZIGEN KAN TOCH OOK? .login-button { width: 100%; }

Slide 14

Slide 14

MAAR IS NIET NODIG. Protostar gebruikt Bootstrap

Slide 15

Slide 15

Slide 16

Slide 16

JOOMLA ADMINISTRATOR Extensions > Templates > Templates

Slide 17

Slide 17

Slide 18

Slide 18

BEWERK TEMPLATE Protostar Details and Files > Create Overrides > mod_login > klik

Slide 19

Slide 19

Slide 20

Slide 20

Slide 21

Slide 21

KLIK BESTAND OM TE BEWERKEN

Slide 22

Slide 22

Slide 23

Slide 23

ZOEK BUTTON LOGIN

Slide 24

Slide 24

Slide 25

Slide 25

VOEG CLASS .BTN-BLOCK TOE

Slide 26

Slide 26

Slide 27

Slide 27

EN AANSCHOUW HET RESULTAAT

Slide 28

Slide 28

NOG MAKKELIJKERE MANIER Voor mij althans

Slide 29

Slide 29

DEMO: OVERRIDE COM_CONTENT/ARTICLE default.php als verdeelpunt

Slide 30

Slide 30

Slide 31

Slide 31

STAPPENPLAN Kopieer components/com_content/views/article/tmpl/default Plak in template/perfecttemplate/html/com_content/article/ En bewerk En bewerk

Slide 32

Slide 32

STAPPENPLAN Kopieer components/com_content/views/article/tmpl/default Plak in template/perfecttemplate/html/com_content/article/ En bewerk Hernoem default.php naar default_default.php En bewerk

Slide 33

Slide 33

STAPPENPLAN Kopieer components/com_content/views/article/tmpl/default Plak in template/perfecttemplate/html/com_content/article/ En bewerk Hernoem default.php naar default_default.php En maak nieuw bestand default.php aan En bewerk

Slide 34

Slide 34

DEFAULT.PHP switch true i.p.v. if-then-elseif-elseif-else $this->template = JFactory::getApplication()->getTemplate(); require_once JPATH_THEMES . ‘/’ . $this->template . ‘/helper.p switch (true) { case PWTTemplateHelper::isContact(): echo $this->loadTemplate(‘contact’); break; default: echo $this->loadTemplate(‘default’); break; }

Slide 35

Slide 35

OF NOG GEKKER $informativeNL = ‘informatief’; $informativeEN = ‘informative’; $trainingNL = ‘nederlandstalig/trainingen-workshops’; $trainingEN = ‘engelstalig/courses-and-workshops’; $opleidingNL = ‘nederlandstalig/opleidingen’; $opleidingEN = ‘engelstalig/teacher-training’; $peopleNL = ‘mensen’; $peopleEN = ‘people’; $publicatieNL = ‘nederlandstalig/bronnen/publicaties’; $publicatieEN = ‘engelstalig/resources/publications’; $newsNL = ‘nieuws’;

Slide 36

Slide 36

JLAYOUTS Nog toffer speelgoed

Slide 37

Slide 37

JLAYOUTS Nog toffer speelgoed Don’t repeat yourself

Slide 38

Slide 38

DEMO: SOCIAL SHARE OP DE WEBSITE Wat is het?

Slide 39

Slide 39

DEMO: SOCIAL SHARE OP DE WEBSITE Wat is het? Lijstje met links om content te delen via Social Media

Slide 40

Slide 40

Slide 41

Slide 41

Slide 42

Slide 42

Slide 43

Slide 43

Slide 44

Slide 44

Slide 45

Slide 45

Slide 46

Slide 46

JOOMLA EXTENSION DIRECTORY Uren zoeken naar die ene die er niet is

Slide 47

Slide 47

Slide 48

Slide 48

EIGEN JLAYOUT Voorbeeldcode op Github zelf CSS toevoegen.

Slide 49

Slide 49

Slide 50

Slide 50

COM_CONTENT/CATEGORY Nog een eenvoudige om het af te leren

Slide 51

Slide 51

Slide 52

Slide 52

CATEGORY BLOG VIEW Toont titels van artikelen uit bepaalde category Toont description van category

Slide 53

Slide 53

STAPPENPLAN Kopieer blog.xml, blog.php en blog_item.php Vanuit components/com_content/views/category/tmp Naar template/perfecttemplate/html/com_content/categor En hernoem blog naar motto

Slide 54

Slide 54

MOTTO.XML Benodigd voor menu item type = Motto <layout title=”Motto” option=”Motto”> <help key = “JHELP_MENUS_MENU_ITEM_ARTICLE_CATEGORY_BLOG” <message> <![CDATA[‘Weergave van het motto door de jaren heen]]> </message> </layout>

Slide 55

Slide 55

MAAK MENU ITEM

Slide 56

Slide 56

BEWERK MOTTO.PHP <div class=”page__header”> <h1><?php echo $this->escape($this->params->get(‘page_head </div> <?php if (!empty($this->intro_items)) : ?> <div class=”page__content”> <div class=”page__description”> <?php echo HTMLHelper::_(‘content.prepare’, $this->cat </div> <ul><?php foreach ($this->intro_items as $key => &$item) : $this->item = &$item; echo $this->loadTemplate(‘item’); endforeach; ?> </ul> </div>

Slide 57

Slide 57

BEWERK MOTTO_ITEM.PHP $state = ($this->item->state == 0 || strtotime($this->item->pu ?> <li class=”<?php echo $state; ?>”> <?php echo $this->item->title; ?> </li>

Slide 58

Slide 58

Slide 59

Slide 59

DANK JE WEL

Slide 60

Slide 60

SLIDES Slideshare.net/hans2103