SlideShare a Scribd company logo
1 of 25
Download to read offline
anatomia di StarterTheme
PrestaShop 1.7
Luigi Massa - PrestaShop Ambassador Torino - lmassa@bwlab.it
2 parole su di me
esperto di processi IT
SAP professional, Symfony developer,
PrestaShop professional
PrestaShop Ambassador da gennaio
2016
ex manager GDG Torino
twitter: businessweblab
site: bwlab.it
linkedin: linkedin.com/in/lmassa
strumenti
github: repository, branch and pull
request
npm: npm is the package manager for
JavaScript. Find, share, and reuse
packages of code from hundreds of
thousands of developers — and
assemble them in powerful new ways.
stylus-lang: EXPRESSIVE, DYNAMIC,
ROBUST CSS
Yaml: yet another markup language
scaricare starter theme
repository in github: https://github.com/PrestaShop
starter theme:
https://github.com/PrestaShop/StarterTheme
folder structure
● config: file di configurazione
template
● template: file tpl
● _dev: file css stylus
● assets: file compilati css, js e
immagni
● modules: allow you to override
templates for modules
● plugins: contains the Smarty
extensions required by the
theme, if any
block elements
permetteno di costruire una
gerarchia ereditaria e sovrascrivere
blocchi di template facilmente
template smarty
risorsa concettuale
smarty è simile a twig per la gestione dei
blocchi, degli include e dell’ereditarietà
{block <name>}...{/endblock}
{extends file='<tpl name>'}
{include file='<tpl name>' <var>=$varname}
block (twig)
extends
include
rapida introduzione sull’
organizzazione dello starter thee
tpl start theme
struttura
struttura starter theme home
struttura altre pagine
struttura layout layout-both-columns.tpl
usando sylus è possibile creare una
struttura semplificata dei css
sfruttando variabili ed ereditarietà e
compilando per ottenere i css
css
compiling
alcuni comandi
npm install: installa le dipendenze npm per la compilazione; sotto _dev
da lanciare sotto _dev, npm run:
● watch: compila i file stylus real time
● build: compila i file stylus e li minimizza in un unico in assets/css
● build-wach: i precedenti uniti
npm run legge il file package.json
npm run watch
controlla live le modifiche ai file .styl
compila live in css
inserisce in assets/css/dev.css
exemple: start from _dev/dev.styl
// Colors
body-background-color = white
border-color = grey
….
@import "_mixins.styl"
…..
#checkout-cart-summary
float right
width 30%
gestisce i colori del tema grafico con delle
variabili
importa altri file stylus
definisce lo stile della classe su id checkout-
cart-summary e
http://www.stylus-lang.com
esempio
Configurazione
theme.yml
Lo Starter Theme prevede un file di
configurazione yml
config/theme.yml
Il file riporta la configurazione del
tema grafico: chi l'ha creato, gli hook
abilitati etc…
La descrizione di tutti i parametri di
configurazione si trova su github.com
contenuto della configurazione
nome template = folder name
versione, autore, compatibilità, dimensione delle immagini, tipi di layout
moduli attivati e disattivati di default in fase di installazione template, hook
gestiti con i relativi moduli attivati
StarterTheme Prestashop 1.7
StarterTheme Prestashop 1.7

More Related Content

Viewers also liked

Aruba eCommerce - Corso online ' Come preparare le promozioni nel tuo eCommerce'
Aruba eCommerce - Corso online ' Come preparare le promozioni nel tuo eCommerce'Aruba eCommerce - Corso online ' Come preparare le promozioni nel tuo eCommerce'
Aruba eCommerce - Corso online ' Come preparare le promozioni nel tuo eCommerce'Aruba S.p.A.
 
Avis - Saggezza popolare
Avis - Saggezza popolareAvis - Saggezza popolare
Avis - Saggezza popolareDaniele Vietri
 
Funzionalità utili/evolute della piattaforma e-Commerce
Funzionalità utili/evolute della piattaforma e-CommerceFunzionalità utili/evolute della piattaforma e-Commerce
Funzionalità utili/evolute della piattaforma e-CommerceDaniele Vietri
 
Progettare un ecommerce di successo
Progettare un ecommerce di successoProgettare un ecommerce di successo
Progettare un ecommerce di successoGiovanni Cappellotto
 
Sviluppare Plugin per WordPress
Sviluppare Plugin per WordPress Sviluppare Plugin per WordPress
Sviluppare Plugin per WordPress Thomas Vitale
 
Mobile commerce: la svolta dei social
Mobile commerce: la svolta dei socialMobile commerce: la svolta dei social
Mobile commerce: la svolta dei socialGaia Campisi
 
I nostri dati online: percezione e realtà
I nostri dati online: percezione e realtàI nostri dati online: percezione e realtà
I nostri dati online: percezione e realtàFrancesca Landoni
 
5 Esercitazione - Strumenti Web Collaborazione
5 Esercitazione - Strumenti Web Collaborazione5 Esercitazione - Strumenti Web Collaborazione
5 Esercitazione - Strumenti Web CollaborazioneAndrea Gorrini
 
7 Esercitazione - IFTTT e Automazione
7 Esercitazione - IFTTT e Automazione7 Esercitazione - IFTTT e Automazione
7 Esercitazione - IFTTT e AutomazioneAndrea Gorrini
 
11 - Modelli di business nel Web - 16/17
11 - Modelli di business nel Web - 16/1711 - Modelli di business nel Web - 16/17
11 - Modelli di business nel Web - 16/17Giuseppe Vizzari
 
6 Esercitazione - Analisi dei Comportamenti sui Social
6 Esercitazione - Analisi dei Comportamenti sui Social 6 Esercitazione - Analisi dei Comportamenti sui Social
6 Esercitazione - Analisi dei Comportamenti sui Social Andrea Gorrini
 
(In)real: il mondo virtuale: AR e VR analisi e confronto nel rapporto con l'u...
(In)real: il mondo virtuale: AR e VR analisi e confronto nel rapporto con l'u...(In)real: il mondo virtuale: AR e VR analisi e confronto nel rapporto con l'u...
(In)real: il mondo virtuale: AR e VR analisi e confronto nel rapporto con l'u...Lucrezia Bassani
 
2 esercitazione - Ricerca sul web
2 esercitazione - Ricerca sul web2 esercitazione - Ricerca sul web
2 esercitazione - Ricerca sul webAndrea Gorrini
 
Realizzare un-ecommerce di successo: Smau Milano 2015
Realizzare un-ecommerce di successo: Smau Milano 2015 Realizzare un-ecommerce di successo: Smau Milano 2015
Realizzare un-ecommerce di successo: Smau Milano 2015 Enthous Agenzia Web
 
Deep Web - il lato nascosto della rete
Deep Web - il lato nascosto della reteDeep Web - il lato nascosto della rete
Deep Web - il lato nascosto della retecampagnanto
 
15 - Web designer vs Web developer
15 - Web designer vs Web developer15 - Web designer vs Web developer
15 - Web designer vs Web developerGiuseppe Vizzari
 
Emanuele Tellaroli - Come integrare un progetto ecommerce per la GDO e vender...
Emanuele Tellaroli - Come integrare un progetto ecommerce per la GDO e vender...Emanuele Tellaroli - Come integrare un progetto ecommerce per la GDO e vender...
Emanuele Tellaroli - Come integrare un progetto ecommerce per la GDO e vender...Meet Magento Italy
 

Viewers also liked (20)

Aruba eCommerce - Corso online ' Come preparare le promozioni nel tuo eCommerce'
Aruba eCommerce - Corso online ' Come preparare le promozioni nel tuo eCommerce'Aruba eCommerce - Corso online ' Come preparare le promozioni nel tuo eCommerce'
Aruba eCommerce - Corso online ' Come preparare le promozioni nel tuo eCommerce'
 
Avis - Saggezza popolare
Avis - Saggezza popolareAvis - Saggezza popolare
Avis - Saggezza popolare
 
Funzionalità utili/evolute della piattaforma e-Commerce
Funzionalità utili/evolute della piattaforma e-CommerceFunzionalità utili/evolute della piattaforma e-Commerce
Funzionalità utili/evolute della piattaforma e-Commerce
 
Progettare un ecommerce di successo
Progettare un ecommerce di successoProgettare un ecommerce di successo
Progettare un ecommerce di successo
 
8 - Web App e CMS - 16/17
8 - Web App e CMS - 16/178 - Web App e CMS - 16/17
8 - Web App e CMS - 16/17
 
Sviluppare Plugin per WordPress
Sviluppare Plugin per WordPress Sviluppare Plugin per WordPress
Sviluppare Plugin per WordPress
 
Mobile commerce: la svolta dei social
Mobile commerce: la svolta dei socialMobile commerce: la svolta dei social
Mobile commerce: la svolta dei social
 
Diritto all'oblio
Diritto all'oblio   Diritto all'oblio
Diritto all'oblio
 
I nostri dati online: percezione e realtà
I nostri dati online: percezione e realtàI nostri dati online: percezione e realtà
I nostri dati online: percezione e realtà
 
Sharing Economy
Sharing EconomySharing Economy
Sharing Economy
 
5 Esercitazione - Strumenti Web Collaborazione
5 Esercitazione - Strumenti Web Collaborazione5 Esercitazione - Strumenti Web Collaborazione
5 Esercitazione - Strumenti Web Collaborazione
 
7 Esercitazione - IFTTT e Automazione
7 Esercitazione - IFTTT e Automazione7 Esercitazione - IFTTT e Automazione
7 Esercitazione - IFTTT e Automazione
 
11 - Modelli di business nel Web - 16/17
11 - Modelli di business nel Web - 16/1711 - Modelli di business nel Web - 16/17
11 - Modelli di business nel Web - 16/17
 
6 Esercitazione - Analisi dei Comportamenti sui Social
6 Esercitazione - Analisi dei Comportamenti sui Social 6 Esercitazione - Analisi dei Comportamenti sui Social
6 Esercitazione - Analisi dei Comportamenti sui Social
 
(In)real: il mondo virtuale: AR e VR analisi e confronto nel rapporto con l'u...
(In)real: il mondo virtuale: AR e VR analisi e confronto nel rapporto con l'u...(In)real: il mondo virtuale: AR e VR analisi e confronto nel rapporto con l'u...
(In)real: il mondo virtuale: AR e VR analisi e confronto nel rapporto con l'u...
 
2 esercitazione - Ricerca sul web
2 esercitazione - Ricerca sul web2 esercitazione - Ricerca sul web
2 esercitazione - Ricerca sul web
 
Realizzare un-ecommerce di successo: Smau Milano 2015
Realizzare un-ecommerce di successo: Smau Milano 2015 Realizzare un-ecommerce di successo: Smau Milano 2015
Realizzare un-ecommerce di successo: Smau Milano 2015
 
Deep Web - il lato nascosto della rete
Deep Web - il lato nascosto della reteDeep Web - il lato nascosto della rete
Deep Web - il lato nascosto della rete
 
15 - Web designer vs Web developer
15 - Web designer vs Web developer15 - Web designer vs Web developer
15 - Web designer vs Web developer
 
Emanuele Tellaroli - Come integrare un progetto ecommerce per la GDO e vender...
Emanuele Tellaroli - Come integrare un progetto ecommerce per la GDO e vender...Emanuele Tellaroli - Come integrare un progetto ecommerce per la GDO e vender...
Emanuele Tellaroli - Come integrare un progetto ecommerce per la GDO e vender...
 

Similar to StarterTheme Prestashop 1.7

GWT vs CSS3
GWT vs CSS3GWT vs CSS3
GWT vs CSS3GWTcon
 
Slide sessione Drupal Theming & CSS Framework – Drupal Camp Torino 2010
Slide sessione Drupal Theming & CSS Framework – Drupal Camp Torino 2010Slide sessione Drupal Theming & CSS Framework – Drupal Camp Torino 2010
Slide sessione Drupal Theming & CSS Framework – Drupal Camp Torino 2010Domenico Monaco
 
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue jsGianfranco Castro
 
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019Marco Chiesi
 
Giovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsGiovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsKnowCamp
 
Introduzione ad angular 7/8
Introduzione ad angular 7/8Introduzione ad angular 7/8
Introduzione ad angular 7/8Valerio Radice
 
Drupal Lessons by nois3lab
Drupal Lessons by nois3labDrupal Lessons by nois3lab
Drupal Lessons by nois3labnois3lab
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationTiziano Serritella
 
4 dw parte2-modifiche
4 dw parte2-modifiche4 dw parte2-modifiche
4 dw parte2-modificheLab Nova
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptSinergia Totale
 
Autumn Event Vicenza
Autumn Event VicenzaAutumn Event Vicenza
Autumn Event VicenzaPiero Sbressa
 
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo nataleSanta Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo nataleAlessio Iafrate
 
DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)Alessandro Giorgetti
 
Node js dev day napoli 2016
Node js dev day napoli 2016Node js dev day napoli 2016
Node js dev day napoli 2016Michele Nasti
 

Similar to StarterTheme Prestashop 1.7 (20)

GWT vs CSS3
GWT vs CSS3GWT vs CSS3
GWT vs CSS3
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
Slide sessione Drupal Theming & CSS Framework – Drupal Camp Torino 2010
Slide sessione Drupal Theming & CSS Framework – Drupal Camp Torino 2010Slide sessione Drupal Theming & CSS Framework – Drupal Camp Torino 2010
Slide sessione Drupal Theming & CSS Framework – Drupal Camp Torino 2010
 
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue js
 
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
Grunt: automazione per sviluppatori “pigri” - WordCamp Bari 2019
 
Giovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more thingsGiovambattista Fazioli, 10 more things
Giovambattista Fazioli, 10 more things
 
Introduzione ad angular 7/8
Introduzione ad angular 7/8Introduzione ad angular 7/8
Introduzione ad angular 7/8
 
beContent
beContentbeContent
beContent
 
Drupal Lessons by nois3lab
Drupal Lessons by nois3labDrupal Lessons by nois3lab
Drupal Lessons by nois3lab
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automation
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
 
4 dw parte2-modifiche
4 dw parte2-modifiche4 dw parte2-modifiche
4 dw parte2-modifiche
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScript
 
Autumn Event Vicenza
Autumn Event VicenzaAutumn Event Vicenza
Autumn Event Vicenza
 
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo nataleSanta Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
 
Grasso Frameworks Ajax
Grasso Frameworks AjaxGrasso Frameworks Ajax
Grasso Frameworks Ajax
 
DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)
 
Node js dev day napoli 2016
Node js dev day napoli 2016Node js dev day napoli 2016
Node js dev day napoli 2016
 

More from Bwlab

Deploy PrestaShop con Docker
Deploy PrestaShop con DockerDeploy PrestaShop con Docker
Deploy PrestaShop con DockerBwlab
 
Google shopping e Prestashop
Google shopping e PrestashopGoogle shopping e Prestashop
Google shopping e PrestashopBwlab
 
PrestaShop e Big data base
PrestaShop e Big data basePrestaShop e Big data base
PrestaShop e Big data baseBwlab
 
Anatomia di starter theme
Anatomia di starter themeAnatomia di starter theme
Anatomia di starter themeBwlab
 
Profiling PrestaShop
Profiling PrestaShopProfiling PrestaShop
Profiling PrestaShopBwlab
 
Normativa sui Cookies del Garante sulla Privacy
Normativa sui Cookies del Garante sulla PrivacyNormativa sui Cookies del Garante sulla Privacy
Normativa sui Cookies del Garante sulla PrivacyBwlab
 
Servizi web Bwlab
Servizi web BwlabServizi web Bwlab
Servizi web BwlabBwlab
 
Bwlab porta la tua azienda nel web
Bwlab porta la tua azienda nel webBwlab porta la tua azienda nel web
Bwlab porta la tua azienda nel webBwlab
 

More from Bwlab (8)

Deploy PrestaShop con Docker
Deploy PrestaShop con DockerDeploy PrestaShop con Docker
Deploy PrestaShop con Docker
 
Google shopping e Prestashop
Google shopping e PrestashopGoogle shopping e Prestashop
Google shopping e Prestashop
 
PrestaShop e Big data base
PrestaShop e Big data basePrestaShop e Big data base
PrestaShop e Big data base
 
Anatomia di starter theme
Anatomia di starter themeAnatomia di starter theme
Anatomia di starter theme
 
Profiling PrestaShop
Profiling PrestaShopProfiling PrestaShop
Profiling PrestaShop
 
Normativa sui Cookies del Garante sulla Privacy
Normativa sui Cookies del Garante sulla PrivacyNormativa sui Cookies del Garante sulla Privacy
Normativa sui Cookies del Garante sulla Privacy
 
Servizi web Bwlab
Servizi web BwlabServizi web Bwlab
Servizi web Bwlab
 
Bwlab porta la tua azienda nel web
Bwlab porta la tua azienda nel webBwlab porta la tua azienda nel web
Bwlab porta la tua azienda nel web
 

StarterTheme Prestashop 1.7

  • 2. Luigi Massa - PrestaShop Ambassador Torino - lmassa@bwlab.it 2 parole su di me esperto di processi IT SAP professional, Symfony developer, PrestaShop professional PrestaShop Ambassador da gennaio 2016 ex manager GDG Torino twitter: businessweblab site: bwlab.it linkedin: linkedin.com/in/lmassa
  • 3. strumenti github: repository, branch and pull request npm: npm is the package manager for JavaScript. Find, share, and reuse packages of code from hundreds of thousands of developers — and assemble them in powerful new ways. stylus-lang: EXPRESSIVE, DYNAMIC, ROBUST CSS Yaml: yet another markup language
  • 4. scaricare starter theme repository in github: https://github.com/PrestaShop starter theme: https://github.com/PrestaShop/StarterTheme
  • 5. folder structure ● config: file di configurazione template ● template: file tpl ● _dev: file css stylus ● assets: file compilati css, js e immagni ● modules: allow you to override templates for modules ● plugins: contains the Smarty extensions required by the theme, if any
  • 6. block elements permetteno di costruire una gerarchia ereditaria e sovrascrivere blocchi di template facilmente template smarty
  • 7. risorsa concettuale smarty è simile a twig per la gestione dei blocchi, degli include e dell’ereditarietà {block <name>}...{/endblock} {extends file='<tpl name>'} {include file='<tpl name>' <var>=$varname}
  • 11. rapida introduzione sull’ organizzazione dello starter thee tpl start theme struttura
  • 15. usando sylus è possibile creare una struttura semplificata dei css sfruttando variabili ed ereditarietà e compilando per ottenere i css css compiling
  • 16. alcuni comandi npm install: installa le dipendenze npm per la compilazione; sotto _dev da lanciare sotto _dev, npm run: ● watch: compila i file stylus real time ● build: compila i file stylus e li minimizza in un unico in assets/css ● build-wach: i precedenti uniti npm run legge il file package.json
  • 17. npm run watch controlla live le modifiche ai file .styl compila live in css inserisce in assets/css/dev.css
  • 18. exemple: start from _dev/dev.styl // Colors body-background-color = white border-color = grey …. @import "_mixins.styl" ….. #checkout-cart-summary float right width 30% gestisce i colori del tema grafico con delle variabili importa altri file stylus definisce lo stile della classe su id checkout- cart-summary e
  • 21. Configurazione theme.yml Lo Starter Theme prevede un file di configurazione yml
  • 22. config/theme.yml Il file riporta la configurazione del tema grafico: chi l'ha creato, gli hook abilitati etc… La descrizione di tutti i parametri di configurazione si trova su github.com
  • 23. contenuto della configurazione nome template = folder name versione, autore, compatibilità, dimensione delle immagini, tipi di layout moduli attivati e disattivati di default in fase di installazione template, hook gestiti con i relativi moduli attivati