joomla! override

113
HTTP://REDSANDEV.GITHUB.IO /JbasicTemplate

Upload: hack

Post on 13-Apr-2017

377 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Joomla! Override

HTTP://REDSANDEV.GITHUB.IO /JbasicTemplate

Page 2: Joomla! Override

JOOMLA! OVERRIDETEMPLATE FOR DUMMIES

Page 3: Joomla! Override

ANDREA ROSSIREDSANDEV

Page 4: Joomla! Override
Page 5: Joomla! Override

TEMPLATE PROGETTASICOSA VUOL DIRE PROGETTARE UN TEMPLATE, OGGI!

Page 6: Joomla! Override
Page 7: Joomla! Override

IL SITO WEB: L’EVOLUZIONE DAL 2009

Page 8: Joomla! Override

IL SITO WEB: L’EVOLUZIONE DAL 2009

REALIZZARE UN SITO WEB VUOL DIRE

Page 9: Joomla! Override

▸ Pensare ai contenuti

▸ Ideare l’aspetto grafico

IL SITO WEB: L’EVOLUZIONE DAL 2009

REALIZZARE UN SITO WEB VUOL DIRE

Page 10: Joomla! Override

▸ Pensare ai destinatari

▸ Ottimizzare l’esperienza utente

▸ Pensare ai contenuti

▸ Ideare l’aspetto grafico

IL SITO WEB: L’EVOLUZIONE DAL 2009

REALIZZARE UN SITO WEB VUOL DIRE

Page 11: Joomla! Override

▸ “Prevedere” dove verranno letti i contenuti

▸ Pensare al piano editoriale

▸ Pensare ai destinatari

▸ Ottimizzare l’esperienza utente

▸ Pensare ai contenuti

▸ Ideare l’aspetto grafico

IL SITO WEB: L’EVOLUZIONE DAL 2009

REALIZZARE UN SITO WEB VUOL DIRE

Page 12: Joomla! Override

▸ “Prevedere” dove verranno letti i contenuti

▸ Pensare al piano editoriale

▸ Pensare ai destinatari

▸ Ottimizzare l’esperienza utente

▸ Pensare ai contenuti

▸ Ideare l’aspetto grafico

▸ Analizzare i Feedback

IL SITO WEB: L’EVOLUZIONE DAL 2009

REALIZZARE UN SITO WEB VUOL DIRE

Page 13: Joomla! Override

USER EXPERIENCE, INFORMATION ARCHITECTURE, RESPONSIVE VS. ADAPTIVE

GianPiero Ugo

COSA INTERESSA A NOI?

Page 14: Joomla! Override

USER EXPERIENCE, INFORMATION ARCHITECTURE, RESPONSIVE VS. ADAPTIVE

GianPiero Ugo

COSA INTERESSA A NOI?

Page 15: Joomla! Override

ISO 9241-210

USER EXPERIENCE

http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=52075

Page 16: Joomla! Override

ISO 9241-210

USER EXPERIENCE

▸ Definizione

http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=52075

A person's perceptions and responses that result from the use or anticipated use of a product, system or service.

Page 17: Joomla! Override

ISO 9241-210

USER EXPERIENCE

▸ Definizione

▸ Limiamola

http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=52075

A person's perceptions and responses that result from the use or anticipated use of a product, system or service.L’utente giunto sul nostro sito, deve trovare immediatamente la risposta, “intravista” nella SERP. Dopo, vorrà continuarne la visita.

Page 18: Joomla! Override

ISO 9241-210

USER EXPERIENCE

▸ Definizione

▸ Limiamola

▸ Nella realtà

http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=52075

A person's perceptions and responses that result from the use or anticipated use of a product, system or service.L’utente giunto sul nostro sito, deve trovare immediatamente la risposta, “intravista” nella SERP. Dopo, vorrà continuarne la visita.

Page 19: Joomla! Override

L’ORGANIZZAZIONE DELL’INFORMAZIONE, ALL’INTERNO DI UN CONTESTO WEB

INFORMATION ARCHITECTURE

Page 20: Joomla! Override

L’ORGANIZZAZIONE DELL’INFORMAZIONE, ALL’INTERNO DI UN CONTESTO WEB

INFORMATION ARCHITECTURE‣ The structural design of shared information environments.

Page 21: Joomla! Override

L’ORGANIZZAZIONE DELL’INFORMAZIONE, ALL’INTERNO DI UN CONTESTO WEB

INFORMATION ARCHITECTURE‣ The structural design of shared information environments.

‣ The art and science of organizing and labeling web sites, intranets, online communities, and software to support findability and usability.

Page 22: Joomla! Override

L’ORGANIZZAZIONE DELL’INFORMAZIONE, ALL’INTERNO DI UN CONTESTO WEB

INFORMATION ARCHITECTURE‣ The structural design of shared information environments.

‣ The art and science of organizing and labeling web sites, intranets, online communities, and software to support findability and usability.

‣ Extracting required parameters/data of Engineering Designs in the process of creating a knowledge-base linking different systems and standards.

‣ A subset of Data Architecture where usable data (a.k.a information) is constructed in and designed or arranged in a fashion most useful or empirically holistic to the users of this data.

Page 23: Joomla! Override

L’ORGANIZZAZIONE DELL’INFORMAZIONE, ALL’INTERNO DI UN CONTESTO WEB

INFORMATION ARCHITECTURE‣ The structural design of shared information environments.

‣ The art and science of organizing and labeling web sites, intranets, online communities, and software to support findability and usability.

‣ Extracting required parameters/data of Engineering Designs in the process of creating a knowledge-base linking different systems and standards.

‣ A subset of Data Architecture where usable data (a.k.a information) is constructed in and designed or arranged in a fashion most useful or empirically holistic to the users of this data.

Page 24: Joomla! Override

L’ORGANIZZAZIONE DELL’INFORMAZIONE, ALL’INTERNO DI UN CONTESTO WEB

INFORMATION ARCHITECTURE‣ The structural design of shared information environments.

‣ The art and science of organizing and labeling web sites, intranets, online communities, and software to support findability and usability.

‣ Extracting required parameters/data of Engineering Designs in the process of creating a knowledge-base linking different systems and standards.

‣ A subset of Data Architecture where usable data (a.k.a information) is constructed in and designed or arranged in a fashion most useful or empirically holistic to the users of this data.

Page 25: Joomla! Override

PARLIAMO SEMPRE DI NAVIGAZIONE DA MOBILE

RESPONSIVE VS ADAPTIVE

Page 26: Joomla! Override

PARLIAMO SEMPRE DI NAVIGAZIONE DA MOBILE

RESPONSIVE VS ADAPTIVE

Responsive Adaptive

Page 27: Joomla! Override

PARLIAMO SEMPRE DI NAVIGAZIONE DA MOBILE

RESPONSIVE VS ADAPTIVE

Responsive

Adattare il contenuto alla dimensione dello schermo:

Adaptive

Identificare il dispositivo, prima di offrire le informazioni richieste:

Page 28: Joomla! Override

PARLIAMO SEMPRE DI NAVIGAZIONE DA MOBILE

RESPONSIVE VS ADAPTIVE

Responsive

Adattare il contenuto alla dimensione dello schermo:

‣ Ordine contenuti

Adaptive

Identificare il dispositivo, prima di offrire le informazioni richieste:

▸ Scelta dei contenuti

Page 29: Joomla! Override

PARLIAMO SEMPRE DI NAVIGAZIONE DA MOBILE

RESPONSIVE VS ADAPTIVE

Responsive

Adattare il contenuto alla dimensione dello schermo:

‣ Ordine contenuti

‣ Dimensioni spazi

Adaptive

Identificare il dispositivo, prima di offrire le informazioni richieste:

▸ Scelta dei contenuti

▸ Gestione spazi

Page 30: Joomla! Override

PARLIAMO SEMPRE DI NAVIGAZIONE DA MOBILE

RESPONSIVE VS ADAPTIVE

Responsive

Adattare il contenuto alla dimensione dello schermo:

‣ Ordine contenuti

‣ Dimensioni spazi

‣ File multimediali ridotti

Adaptive

Identificare il dispositivo, prima di offrire le informazioni richieste:

▸ Scelta dei contenuti

▸ Gestione spazi

▸ File multimediali scelti

Page 31: Joomla! Override

PARLIAMO SEMPRE DI NAVIGAZIONE DA MOBILE

RESPONSIVE VS ADAPTIVE

Responsive

Adattare il contenuto alla dimensione dello schermo:

‣ Ordine contenuti

‣ Dimensioni spazi

‣ File multimediali ridotti

Adaptive

Identificare il dispositivo, prima di offrire le informazioni richieste:

▸ Scelta dei contenuti

▸ Gestione spazi

▸ File multimediali scelti

Page 32: Joomla! Override
Page 33: Joomla! Override

DOMANDA

Page 34: Joomla! Override

QUANDO MI SERVE?

Page 35: Joomla! Override

HOW-TOTEMPLATE DESIGN

Page 36: Joomla! Override

ANATOMIA DEL TEMPLATE DI JOOMLA!

ANATOMIA DI UN TEMPLATE

http://redsandev.github.io/JbasicTemplate

Page 37: Joomla! Override

ANATOMIA DEL TEMPLATE DI JOOMLA!

ANATOMIA DI UN TEMPLATE

http://redsandev.github.io/JbasicTemplate

index.php

error.php

component.php

templateDetails.xml

template_preview.png

template_thumbnail.png

Template

css/

js/

img/

fonts/

sass/

Page 38: Joomla! Override

ANATOMIA DEL TEMPLATE DI JOOMLA!

ANATOMIA DI UN TEMPLATE

http://redsandev.github.io/JbasicTemplate

html/index.php

error.php

component.php

templateDetails.xml

template_preview.png

template_thumbnail.png

Template

css/

js/

img/

fonts/

sass/

Page 39: Joomla! Override

ANATOMIA DEL TEMPLATE DI JOOMLA!

ANATOMIA DI UN TEMPLATE

http://redsandev.github.io/JbasicTemplate

html/index.php

error.php

component.php

templateDetails.xml

template_preview.png

template_thumbnail.png

Template

css/

js/

img/

fonts/

sass/

modules.php

Page 40: Joomla! Override

ANATOMIA DEL TEMPLATE DI JOOMLA!

ANATOMIA DI UN TEMPLATE

http://redsandev.github.io/JbasicTemplate

html/index.php

error.php

component.php

templateDetails.xml

template_preview.png

template_thumbnail.png

Template

css/

js/

img/

fonts/

sass/

modules.phppagination.php

Page 41: Joomla! Override

ANATOMIA DEL TEMPLATE DI JOOMLA!

ANATOMIA DI UN TEMPLATE

http://redsandev.github.io/JbasicTemplate

html/index.php

error.php

component.php

templateDetails.xml

template_preview.png

template_thumbnail.png

Template

css/

js/

img/

fonts/

sass/

modules.phppagination.php

OVERRIDE

Page 42: Joomla! Override

ANATOMIA DEL TEMPLATE DI JOOMLA!

ANATOMIA DI UN TEMPLATE

http://redsandev.github.io/JbasicTemplate

html/index.php

error.php

component.php

templateDetails.xml

template_preview.png

template_thumbnail.png

Template

css/

js/

img/

fonts/

sass/

modules.phppagination.php

OVERRIDE

html/modules.phppagination.php

OVERRIDE

Page 43: Joomla! Override

COME È FATTO UN TEMPLATE?

Page 44: Joomla! Override

DENTRO IL FILE INDEX.PHP

Page 45: Joomla! Override

IL FILE INDEX.PHP NASCE PER UN MOTIVO BEN PRECISO: QUALE?

DENTRO IL FILE INDEX.PHP

Page 46: Joomla! Override

IL FILE INDEX.PHP NASCE PER UN MOTIVO BEN PRECISO: QUALE?

DENTRO IL FILE INDEX.PHP

▸ Preparazione<?php

defined('_JEXEC') or die;

$app = JFactory::getApplication();$doc = JFactory::getDocument();$user = JFactory::getUser();

$this->language = $doc->language;$this->direction = $doc->direction;// Getting params from template$params = $app->getTemplate(true)->params;

// Detecting Active Variables$sitename = $app->get('sitename');

// Add JavaScript FrameworksJHtml::_('bootstrap.framework');unset($this->_scripts[JURI::root(true).'/media/jui/js/bootstrap.min.js']);$doc->addScript($this->baseurl . '/templates/' . $this->template . '/js/bootstrap.min.js');$doc->addScript($this->baseurl . '/templates/' . $this->template . '/js/template.js');

Page 47: Joomla! Override

IL FILE INDEX.PHP NASCE PER UN MOTIVO BEN PRECISO: QUALE?

DENTRO IL FILE INDEX.PHP

▸ Preparazione

▸ Layout

?><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">

<head> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <jdoc:include type="head" /></head>

<body class="site"> <jdoc:include type="modules" name="menu" style="none" />

<jdoc:include type="message" /><jdoc:include type="component" />

<footer class="footer container-fluid" role="contentinfo"> <div class="row"> <jdoc:include type="modules" name="footer" style="none" /> </div> <div class="lastfooter row"> <jdoc:include type="modules" name="lastfooter" style="menufooter" /> </div></footer><jdoc:include type="modules" name="debug" style="none" />

</body></html>

Page 48: Joomla! Override

IL FILE INDEX.PHP NASCE PER UN MOTIVO BEN PRECISO: QUALE?

DENTRO IL FILE INDEX.PHP

▸ Preparazione

▸ Layout

Page 49: Joomla! Override
Page 50: Joomla! Override

INDEX.PHP =

È LA BASE PER LA DISPOSIZIONE DEI CONTENUTI

Page 51: Joomla! Override

RESPONSIVE VS ADAPTIVE: UNA COMODA LETTURA

Page 52: Joomla! Override
Page 53: Joomla! Override

IN QUALSIASI MOMENTO, POSSO LEGGERE LE INFORMAZIONI DAL MIO SMARTPHONE

Page 54: Joomla! Override

IN QUALSIASI MOMENTO, POSSO LEGGERE LE INFORMAZIONI DAL MIO SMARTPHONE

LETTURA DA SMARTPHONE: COME CAMBIA L’ARTICOLO?

Page 55: Joomla! Override

IN QUALSIASI MOMENTO, POSSO LEGGERE LE INFORMAZIONI DAL MIO SMARTPHONE

LETTURA DA SMARTPHONE: COME CAMBIA L’ARTICOLO?

▸ Titolo: l’importanza di rispondere a tutte le domande

Page 56: Joomla! Override

IN QUALSIASI MOMENTO, POSSO LEGGERE LE INFORMAZIONI DAL MIO SMARTPHONE

LETTURA DA SMARTPHONE: COME CAMBIA L’ARTICOLO?

▸ Titolo: l’importanza di rispondere a tutte le domande

▸ Testo introduttivo? Dipende!

Page 57: Joomla! Override

IN QUALSIASI MOMENTO, POSSO LEGGERE LE INFORMAZIONI DAL MIO SMARTPHONE

LETTURA DA SMARTPHONE: COME CAMBIA L’ARTICOLO?

▸ Titolo: l’importanza di rispondere a tutte le domande

▸ Testo introduttivo? Dipende!

▸ Carattere: definito, semplice e facile da leggere. Anche al sole.

Page 58: Joomla! Override

IN QUALSIASI MOMENTO, POSSO LEGGERE LE INFORMAZIONI DAL MIO SMARTPHONE

LETTURA DA SMARTPHONE: COME CAMBIA L’ARTICOLO?

▸ Titolo: l’importanza di rispondere a tutte le domande

▸ Testo introduttivo? Dipende!

▸ Carattere: definito, semplice e facile da leggere. Anche al sole.

▸ Immagine di copertina? Tablet sì, Smartphone no!

Page 59: Joomla! Override

IN QUALSIASI MOMENTO, POSSO LEGGERE LE INFORMAZIONI DAL MIO SMARTPHONE

LETTURA DA SMARTPHONE: COME CAMBIA L’ARTICOLO?

▸ Titolo: l’importanza di rispondere a tutte le domande

▸ Testo introduttivo? Dipende!

▸ Carattere: definito, semplice e facile da leggere. Anche al sole.

▸ Immagine di copertina? Tablet sì, Smartphone no!

▸ Le informazioni? In un punto ben preciso!

Page 60: Joomla! Override
Page 61: Joomla! Override

È IMPORTANTE TENERE A MENTE IL FOCUS

Page 62: Joomla! Override

È IMPORTANTE TENERE A MENTE IL FOCUS

COSA VOGLIO MODIFICARE?

Page 63: Joomla! Override

È IMPORTANTE TENERE A MENTE IL FOCUS

COSA VOGLIO MODIFICARE?

▸ Voglio modificare la visualizzazione dell’articolo

Page 64: Joomla! Override

È IMPORTANTE TENERE A MENTE IL FOCUS

COSA VOGLIO MODIFICARE?

▸ Voglio modificare la visualizzazione dell’articolo

▸ Lo voglio fare in base allo schermo

Page 65: Joomla! Override

È IMPORTANTE TENERE A MENTE IL FOCUS

COSA VOGLIO MODIFICARE?

▸ Voglio modificare la visualizzazione dell’articolo

▸ Lo voglio fare in base allo schermo

▸ Desidero ottimizzarne la lettura, a seconda del dispositivo utilizzato

Page 66: Joomla! Override

COME LO IMMAGINIAMO?

Page 67: Joomla! Override
Page 68: Joomla! Override
Page 69: Joomla! Override
Page 70: Joomla! Override
Page 71: Joomla! Override
Page 72: Joomla! Override
Page 73: Joomla! Override
Page 74: Joomla! Override
Page 75: Joomla! Override
Page 76: Joomla! Override

PASSO 1

Page 77: Joomla! Override

PASSO 1

FILE NECESSARI

▸ html/com_content/article/ default.php default_links.php

▸ in css template.cssmobile.css

▸ in index.php una lieve modifica

Page 78: Joomla! Override

TEXT

IN INDEX.PHP

▸ Aggiungiamo un semplice controllo

Page 79: Joomla! Override

TEXT

IN INDEX.PHP

▸ Aggiungiamo un semplice controllo

$client=new JApplicationWebClient();

Page 80: Joomla! Override

TEXT

IN INDEX.PHP

▸ Aggiungiamo un semplice controllo

$client=new JApplicationWebClient();

if($client->mobile)

Page 81: Joomla! Override

TEXT

IN INDEX.PHP

▸ Aggiungiamo un semplice controllo

$client=new JApplicationWebClient();

if($client->mobile)

$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/mobile.css');

Page 82: Joomla! Override

TEXT

IN INDEX.PHP

▸ Aggiungiamo un semplice controllo

$client=new JApplicationWebClient();

if($client->mobile)

$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/mobile.css');

else

Page 83: Joomla! Override

TEXT

IN INDEX.PHP

▸ Aggiungiamo un semplice controllo

$client=new JApplicationWebClient();

if($client->mobile)

$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/mobile.css');

else

$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/template.css');

Page 84: Joomla! Override

PASSO 1

FILE NECESSARI

▸ html/com_content/article/ default.php default_links.php

▸ in css template.cssmobile.css

▸ in index.php una lieve modifica

Page 85: Joomla! Override

PASSO 1

FILE NECESSARI

▸ html/com_content/article/ default.php default_links.php

▸ in css template.cssmobile.css

▸ in index.php una lieve modifica

▸ html/com_content/article/ default.php default_links.php

▸ in css template.cssmobile.css

▸ in index.php una lieve modifica

Page 86: Joomla! Override

PASSO 1

FILE NECESSARI

▸ html/com_content/article/ default.php default_links.php

▸ in css template.cssmobile.css

▸ in index.php una lieve modifica

▸ html/com_content/article/ default.php default_links.php

▸ in css template.cssmobile.css

▸ in index.php una lieve modifica

▸ html/com_content/article/ default.php default_links.php

▸ in css template.cssmobile.css

▸ in index.php una lieve modifica

Page 87: Joomla! Override

PASSO 2

Page 88: Joomla! Override

template/html/com_content/article/default.php

COSA SERVE

Page 89: Joomla! Override

template/html/com_content/article/default.php

COSA SERVE

▸ Controllo sicurezza<?phpdefined('_JEXEC') or die;

Page 90: Joomla! Override

template/html/com_content/article/default.php

COSA SERVE

▸ Controllo sicurezza<?phpdefined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

Page 91: Joomla! Override

template/html/com_content/article/default.php

COSA SERVE

▸ Controllo sicurezza

▸ parametri, immagini, url, info

<?phpdefined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

$params = $this->item->params;$images = json_decode($this->item->images);$urls = json_decode($this->item->urls);$info = $params->get('info_block_position', 0);

Page 92: Joomla! Override

template/html/com_content/article/default.php

COSA SERVE

▸ Controllo sicurezza

▸ parametri, immagini, url, info

▸ Sidebar

<?phpdefined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

$params = $this->item->params;$images = json_decode($this->item->images);$urls = json_decode($this->item->urls);$info = $params->get('info_block_position', 0);

JHtml::_('behavior.caption');jimport('joomla.application.module.helper'); $sidebar = JModuleHelper::getModules(‘sidebar');

Page 93: Joomla! Override

template/html/com_content/article/default.php

COSA SERVE

▸ Controllo sicurezza

▸ parametri, immagini, url, info

▸ Sidebar

▸ Client

<?phpdefined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

$params = $this->item->params;$images = json_decode($this->item->images);$urls = json_decode($this->item->urls);$info = $params->get('info_block_position', 0);

JHtml::_('behavior.caption');jimport('joomla.application.module.helper'); $sidebar = JModuleHelper::getModules(‘sidebar');

$client=new JApplicationWebClient();

?>

Page 94: Joomla! Override
Page 95: Joomla! Override

COSA METTO NEL MAIN?

Page 96: Joomla! Override

<main class="container item-page<?php echo $this->pageclass_sfx; ?>”>

</main>

COSA METTO NEL MAIN?

IL MAIN

Page 97: Joomla! Override

▸ Gestione Desktop

<main class="container item-page<?php echo $this->pageclass_sfx; ?>”>

</main>

SE L’ARTICOLO È VISTO DA UN PC, INTERPRETA IL CODICE CONTENUTO QUI DENTRO

COSA METTO NEL MAIN?

IL MAIN

Page 98: Joomla! Override

▸ Gestione Desktop

▸ Gestione mobile

<main class="container item-page<?php echo $this->pageclass_sfx; ?>”>

</main>

SE L’ARTICOLO È VISTO DA UN PC, INTERPRETA IL CODICE CONTENUTO QUI DENTRO

COSA METTO NEL MAIN?

IL MAIN

ALTRIMENTI, PER TUTTI GLI ALTRI, INTERPRETA IL CODICE QUI DENTRO

Page 99: Joomla! Override

PHP È COMODO (CIRCA)!

Page 100: Joomla! Override

▸ Gestione Desktop

▸ Gestione mobile

<main class="container item-page<?php echo $this->pageclass_sfx; ?>”>

</main>

COSA METTO NEL MAIN

IL MAIN

A SECONDA DI COSA DEVO MOSTRARE, NE FORNISCO UNA VERSIONE DESKTOP O MOBILE

Page 101: Joomla! Override

<main class="container item-page<?php echo $this->pageclass_sfx; ?>"> <div class="row " itemscope itemtype="https://schema.org/Article"> <meta itemprop="inLanguage" content="<?php echo ($this->item->language === '*') ? JFactory::getConfig()->get('language') : $this->item->language; ?>" /> <div class="col-xs-12 cover" <?php if(!$client->mobile):?> style="background-image:url('<?php echo $images->image_fulltext;?>’)" <?php endif;?>> <header class="page-header"> <div class="intro"><h1> <?php echo $this->item->title; ?> </h1> <?php if(!$client->mobile):?> <?php echo $this->item->introtext; ?> <?php endif;?> </div> </header> </div> <?php if($client->mobile):?> <div class="col-xs-6"> <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#author">

Page 102: Joomla! Override

</header> </div> <?php if($client->mobile):?> <div class="col-xs-6"> <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#author"> <span class="fa fa-4 fa-info"></span> </button> </div> <div class="col-xs-6"> <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#sidebar"> <span class="fa fa-4 fa-hashtag"></span> </button> </div> <?php else:?> <div class="col-xs-12 author”><!—— FAI COSE INTELLIGENTI ——></div> <?php endif;?> </div> <section class="page-body col-xs-12 <?php if(!$client->mobile):?>col-sm-8<?php endif;?>"> <?php echo $this->item->text; ?> </section>

Page 103: Joomla! Override

<span class="fa fa-4 fa-hashtag"></span> </button> </div> <?php else:?> <div class="col-xs-12 author”><!—— FAI COSE INTELLIGENTI ——></div> <?php endif;?> </div> <section class="page-body col-xs-12 <?php if(!$client->mobile):?>col-sm-8<?php endif;?>"> <?php echo $this->item->text; ?> </section> <?php if(!$client->mobile):?> <section class="page-sidebar col-xs-12 col-sm-4"> <?php foreach($sidebar as $mod): echo JModuleHelper::renderModule($mod); endforeach; ?> </section> <?php endif;?> </main>

Page 104: Joomla! Override

ECCO IL RISULTATO

Page 105: Joomla! Override

OVERRIDE SEMPLICE

VERSIONE DESKTOP

Page 106: Joomla! Override

OVERRIDE SEMPLICE

VERSIONE DESKTOP

Page 107: Joomla! Override

LA DIFFERENZA DI USER EXPERIENCE, NON È MAI DA SOTTOVALUTARE

RESPONSIVE VS ADAPTIVE

Page 108: Joomla! Override

LA DIFFERENZA DI USER EXPERIENCE, NON È MAI DA SOTTOVALUTARE

RESPONSIVE VS ADAPTIVE

Page 109: Joomla! Override

LA DIFFERENZA DI USER EXPERIENCE, NON È MAI DA SOTTOVALUTARE

RESPONSIVE VS ADAPTIVE

Page 110: Joomla! Override

HTTP://REDSANDEV.GITHUB.IO /JbasicTemplate

Page 111: Joomla! Override

VUOI DI PIÙ?JOOMLA USER GROUP BRESCIA

Page 112: Joomla! Override

GRAZIE

Page 113: Joomla! Override

CONTATTICONTATTI

Rossi Andrea per µhack

‣www.muhack.org ‣www.facebook.com/

uhackbrescia ‣brescia.joomla.com

‣RedsAnDev@twitter ‣www.facebook.com/

redsandev/