SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
JTL-Shop: Evo-Template
Best Practices Template-Anpassung
David Hannappel
Rückblick
Vier Generationen JTL-Shop (Templates)
!
2010
2015
2007
2005
2010
2015
2007
2005
2010
2015
2007
2005
2010
2015
2007
2005
Shop 4 Programmiersprachen
PHP
51%
JavaScript
22%
Smarty
18%
CSS
5%
Wie individuell darf es sein?
Ein paar Beispiele
"
Grundlagen
Evo-Templateaufbau
*
Das ist drin
Struktur
templates/{MeinTemplate}/
Subordner benannt nach Funktion
js, themes, template.xml
template.xml
Basis-Informationen,
Template-Einstellungen,
Genutzte JS-Dateien, CSS
(Master-Template)
In welcher Datei...?
Template-Quelldateien finden
#
Template-Quelldateien finden
1. Element untersuchen im Browser
2. Suche im (Template-)Code:
Integrierte Entwicklungsumgebung
z.B. NetBeans, PHPStorm, Eclipse, Coda...
Oder hier: gitlab.jtl-software.de
Suche z.B. nach Klassenname
Gibt es eine Smarty-Variable...?
Die passende Variable finden
$
Passende Variable finden
Debug-Plugin
Geladene Templatedateien
Variablen + Werte
Sessionvariablen
Alternativ: {$object|var_dump}
JTL-Debug-Plugin
STRG Enter+
Los geht`s - Wie kann ich
Änderungen durchführen?
Fokus auf Wartbarkeit
%
Viele Wege führen zum Ziel
Original ändern
_custom.tpl
Child-Template
Plugin
&'
Child-Templates
Erben vom Parent-Template
(
Warum ein Child-Template?
) Updatesicherheit * Getrennter Code
+ Smarty Blocks , Erweitern statt Kopieren
Wie erstelle ich ein Child-Template?
1. templates/{ChildTemplate}
2. template.xml:
...
<Parent>Evo</Parent>
...
3. Anzupassende Tpl-Dateien in entsprechenden
Ordnern anlegen
(am Parent-Template orientieren)
4. Erweitern à Smarty Blocks
Evo-Child-Example liefert Beispiele!
Code-Beispiel: Smarty Blocks: Prepend
templates/{ChildTemplate}/layout/footer.tpl:
{extends file="{$parent_template_path}/layout/footer.tpl"}
{block name=“footer-additional" prepend}
<div id=“all-payment-options" class="row footer-additional">
...
</div>
{/block}
Code-Beispiel: Smarty Blocks: Append
templates/{ChildTemplate}/layout/header.tpl:
{extends file="{$parent_template_path}/layout/header.tpl"}
{block name="head-title" append} – günstig bei JTL{/block}
Code-Beispiel: Smarty Blocks: Replace
templates/{ChildTemplate}/layout/header.tpl:
{extends file="{$parent_template_path}/layout/header.tpl"}
{block name=“logo"}
<canvas id="canvas-logo"></canvas>
{/block}
(CSS-)Theme im Child-Template
LESS editieren und zu CSS kompilieren
-
Vorhandenes Theme kopieren
template.xml anpassen (Theme registrieren)
less/variables.less und less/theme.less anpassen
bootstrap.css kompilieren
Theme im Child-Template
.
/
%
0
bootstrap.css kompilieren
Evo-Editor-Plugin nutzen
theme/{mytheme} muss beschreibbar sein!
Alternativ - Konsolenbefehl:
php includes/plugins/evo_editor/version/100/adminmenu/cli.php mytheme
LiveStyler
(Im Evo-Editor-Plugin enthalten,
aktivieren in TPL-Einstellungen)
Nicht für Produktivshops!
Muss ich immer erst kompilieren, um CSS-Änderungen zu sehen?
Troubleshooting
„Jetzt seh ich eine weiße Seite“
1
Errorlogging aktivieren
includes/config.JTL-Shop.ini.php
// loglevel - smarty templates
define('SMARTY_LOG_LEVEL', E_ALL);
// display errors
ini_set('display_errors', 1);
Fehlerausgabe interpretieren
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template
"htdocs/shop4_dev/templates/Evo/productdetails/details.tpl" on line
83 "<div class="rating-wrapper{hallo} col-xs-4 text-right" unknown
tag "hallo" <-- thrown in
/htdocs/shop4_dev/includes/vendor/smarty/smarty/libs/sysplugins/sma
rty_internal_templatecompilerbase.php on line 83
Fehlerausgabe interpretieren
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template
"htdocs/shop4_dev/templates/Evo/productdetails/details.tpl" on line
83 "<div class="rating-wrapper{hallo} col-xs-4 text-right" unknown
tag "hallo" <-- thrown in
/htdocs/shop4_dev/includes/vendor/smarty/smarty/libs/sysplugins/sma
rty_internal_templatecompilerbase.phpon line 83
Gutes Gelingen!
Ressourcen:
docs.jtl-shop.de
gitlab.jtl-software.de/jtlshop/shop4/
lesscss.org

Weitere ähnliche Inhalte

Andere mochten auch

Product life cylce
Product life cylceProduct life cylce
Product life cylceIndra Purba
 
Makalah manajemen proyek sistem informasi
Makalah manajemen proyek sistem informasiMakalah manajemen proyek sistem informasi
Makalah manajemen proyek sistem informasiAr Schwarzenegger
 
Create Presentations Clients Want
Create Presentations Clients WantCreate Presentations Clients Want
Create Presentations Clients WantGeoff McDonald
 
Modern Simplicity Presentation Template
Modern Simplicity  Presentation TemplateModern Simplicity  Presentation Template
Modern Simplicity Presentation TemplateImprove Presentation
 
Project Management Life Cycle - 13410100139
Project Management Life Cycle - 13410100139Project Management Life Cycle - 13410100139
Project Management Life Cycle - 13410100139amiruzg
 
Business Flow Presentation Template
 Business Flow Presentation Template Business Flow Presentation Template
Business Flow Presentation TemplateImprove Presentation
 
Funky and Bright Presentation Template
Funky and Bright  Presentation TemplateFunky and Bright  Presentation Template
Funky and Bright Presentation TemplateImprove Presentation
 
Project Planning Timeline Editable ppt
Project Planning Timeline Editable pptProject Planning Timeline Editable ppt
Project Planning Timeline Editable ppt24point0
 
Startup Plan Example
Startup Plan ExampleStartup Plan Example
Startup Plan ExampleSergey Chubuk
 

Andere mochten auch (14)

Product life cylce
Product life cylceProduct life cylce
Product life cylce
 
Medical Presentation Template
Medical Presentation TemplateMedical Presentation Template
Medical Presentation Template
 
Makalah manajemen proyek sistem informasi
Makalah manajemen proyek sistem informasiMakalah manajemen proyek sistem informasi
Makalah manajemen proyek sistem informasi
 
Create Presentations Clients Want
Create Presentations Clients WantCreate Presentations Clients Want
Create Presentations Clients Want
 
Startup Presentation Template
Startup Presentation TemplateStartup Presentation Template
Startup Presentation Template
 
Modern Simplicity Presentation Template
Modern Simplicity  Presentation TemplateModern Simplicity  Presentation Template
Modern Simplicity Presentation Template
 
Project proposal
Project proposal Project proposal
Project proposal
 
Project Management Life Cycle - 13410100139
Project Management Life Cycle - 13410100139Project Management Life Cycle - 13410100139
Project Management Life Cycle - 13410100139
 
Business Flow Presentation Template
 Business Flow Presentation Template Business Flow Presentation Template
Business Flow Presentation Template
 
Funky and Bright Presentation Template
Funky and Bright  Presentation TemplateFunky and Bright  Presentation Template
Funky and Bright Presentation Template
 
Fashion Presentation Template
Fashion Presentation TemplateFashion Presentation Template
Fashion Presentation Template
 
Business Plan
Business PlanBusiness Plan
Business Plan
 
Project Planning Timeline Editable ppt
Project Planning Timeline Editable pptProject Planning Timeline Editable ppt
Project Planning Timeline Editable ppt
 
Startup Plan Example
Startup Plan ExampleStartup Plan Example
Startup Plan Example
 

Ähnlich wie Jtl_connect jtl_shop_evo_template_best_practices

Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Mayflower GmbH
 
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden.
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden. "SEO Texte": So schreibst du Texte für User, die auch gefunden werden.
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden. Daniel Marx
 
Javascript done right
Javascript done rightJavascript done right
Javascript done rightDirk Ginader
 
MetaModels for Beginners - Contao Nordtag 2013
MetaModels for Beginners - Contao Nordtag 2013MetaModels for Beginners - Contao Nordtag 2013
MetaModels for Beginners - Contao Nordtag 2013andreasisaak
 
MetaModels for Beginners - Contao Conference 2013
MetaModels for Beginners - Contao Conference 2013MetaModels for Beginners - Contao Conference 2013
MetaModels for Beginners - Contao Conference 2013andreasisaak
 
Django - The Web framework for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlinesDjango - The Web framework for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlinesMarkus Zapke-Gründemann
 
Einstieg in Xpath für SEO (Campixx2021)
Einstieg in Xpath für SEO (Campixx2021)Einstieg in Xpath für SEO (Campixx2021)
Einstieg in Xpath für SEO (Campixx2021)Sebastian Adler
 
Metaprogrammierung, praktisch
Metaprogrammierung, praktischMetaprogrammierung, praktisch
Metaprogrammierung, praktischAndi Albrecht
 
"Best Practices" in Contao
"Best Practices" in Contao"Best Practices" in Contao
"Best Practices" in ContaoPeter Müller
 
Pattern Libraries als Schnittstelle zwischen Design & Development
Pattern Libraries als Schnittstelle zwischen Design & DevelopmentPattern Libraries als Schnittstelle zwischen Design & Development
Pattern Libraries als Schnittstelle zwischen Design & DevelopmentMatthias Feit
 
The Lotus Code Cookbook
The Lotus Code CookbookThe Lotus Code Cookbook
The Lotus Code CookbookUlrich Krause
 
InDesign und XML in der Praxis
InDesign und XML in der PraxisInDesign und XML in der Praxis
InDesign und XML in der PraxisStefanGoebel
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
xls-based Testing | Herbstcampus 2013
xls-based Testing | Herbstcampus 2013xls-based Testing | Herbstcampus 2013
xls-based Testing | Herbstcampus 2013Matthias Reining
 

Ähnlich wie Jtl_connect jtl_shop_evo_template_best_practices (20)

Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
 
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden.
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden. "SEO Texte": So schreibst du Texte für User, die auch gefunden werden.
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden.
 
Javascript done right
Javascript done rightJavascript done right
Javascript done right
 
MetaModels for Beginners - Contao Nordtag 2013
MetaModels for Beginners - Contao Nordtag 2013MetaModels for Beginners - Contao Nordtag 2013
MetaModels for Beginners - Contao Nordtag 2013
 
MetaModels for Beginners - Contao Conference 2013
MetaModels for Beginners - Contao Conference 2013MetaModels for Beginners - Contao Conference 2013
MetaModels for Beginners - Contao Conference 2013
 
Django - The Web framework for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlinesDjango - The Web framework for perfectionists with deadlines
Django - The Web framework for perfectionists with deadlines
 
Einstieg in Xpath für SEO (Campixx2021)
Einstieg in Xpath für SEO (Campixx2021)Einstieg in Xpath für SEO (Campixx2021)
Einstieg in Xpath für SEO (Campixx2021)
 
Metaprogrammierung, praktisch
Metaprogrammierung, praktischMetaprogrammierung, praktisch
Metaprogrammierung, praktisch
 
"Best Practices" in Contao
"Best Practices" in Contao"Best Practices" in Contao
"Best Practices" in Contao
 
Pattern Libraries als Schnittstelle zwischen Design & Development
Pattern Libraries als Schnittstelle zwischen Design & DevelopmentPattern Libraries als Schnittstelle zwischen Design & Development
Pattern Libraries als Schnittstelle zwischen Design & Development
 
The Lotus Code Cookbook
The Lotus Code CookbookThe Lotus Code Cookbook
The Lotus Code Cookbook
 
eEvolution 8.1 - Tipps & Tricks - Teil 1
eEvolution 8.1 - Tipps & Tricks - Teil 1eEvolution 8.1 - Tipps & Tricks - Teil 1
eEvolution 8.1 - Tipps & Tricks - Teil 1
 
Solr
SolrSolr
Solr
 
InDesign und XML in der Praxis
InDesign und XML in der PraxisInDesign und XML in der Praxis
InDesign und XML in der Praxis
 
Gutenberg Theme Entwicklung leicht gemacht
Gutenberg Theme Entwicklung leicht gemachtGutenberg Theme Entwicklung leicht gemacht
Gutenberg Theme Entwicklung leicht gemacht
 
Das Child-Theme-Dilemma
Das Child-Theme-DilemmaDas Child-Theme-Dilemma
Das Child-Theme-Dilemma
 
Vorschau auf Drupal 8
Vorschau auf Drupal 8Vorschau auf Drupal 8
Vorschau auf Drupal 8
 
Contao und CSS
Contao und CSS Contao und CSS
Contao und CSS
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
xls-based Testing | Herbstcampus 2013
xls-based Testing | Herbstcampus 2013xls-based Testing | Herbstcampus 2013
xls-based Testing | Herbstcampus 2013
 

Mehr von JTL-Software

Jtl_connect keynote_thomas_lisson
Jtl_connect keynote_thomas_lissonJtl_connect keynote_thomas_lisson
Jtl_connect keynote_thomas_lissonJTL-Software
 
Jtl_connect jtl_wawi_performance_boost
Jtl_connect jtl_wawi_performance_boostJtl_connect jtl_wawi_performance_boost
Jtl_connect jtl_wawi_performance_boostJTL-Software
 
Jtl_connect jtl_fuer_einsteiger
Jtl_connect jtl_fuer_einsteigerJtl_connect jtl_fuer_einsteiger
Jtl_connect jtl_fuer_einsteigerJTL-Software
 
JTL-PartnerConvention: Welcher SQL-Server passt zu mir
JTL-PartnerConvention: Welcher SQL-Server passt zu mirJTL-PartnerConvention: Welcher SQL-Server passt zu mir
JTL-PartnerConvention: Welcher SQL-Server passt zu mirJTL-Software
 
JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Platt...
JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Platt...JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Platt...
JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Platt...JTL-Software
 
JTL-Connector | Anpassung & Erweiterung der Endpoints
JTL-Connector | Anpassung & Erweiterung der EndpointsJTL-Connector | Anpassung & Erweiterung der Endpoints
JTL-Connector | Anpassung & Erweiterung der EndpointsJTL-Software
 
JTL-Wawi | eBay Designvorlagen
JTL-Wawi | eBay DesignvorlagenJTL-Wawi | eBay Designvorlagen
JTL-Wawi | eBay DesignvorlagenJTL-Software
 
JTL-Wawi | Workflows
JTL-Wawi | WorkflowsJTL-Wawi | Workflows
JTL-Wawi | WorkflowsJTL-Software
 
Wie geht's weiter nach der 1.0? Einblick in die Entwicklungsabteilungen von JTL
Wie geht's weiter nach der 1.0? Einblick in die Entwicklungsabteilungen von JTLWie geht's weiter nach der 1.0? Einblick in die Entwicklungsabteilungen von JTL
Wie geht's weiter nach der 1.0? Einblick in die Entwicklungsabteilungen von JTLJTL-Software
 
Eröffnung JTL-Connect 2015
Eröffnung JTL-Connect 2015Eröffnung JTL-Connect 2015
Eröffnung JTL-Connect 2015JTL-Software
 

Mehr von JTL-Software (10)

Jtl_connect keynote_thomas_lisson
Jtl_connect keynote_thomas_lissonJtl_connect keynote_thomas_lisson
Jtl_connect keynote_thomas_lisson
 
Jtl_connect jtl_wawi_performance_boost
Jtl_connect jtl_wawi_performance_boostJtl_connect jtl_wawi_performance_boost
Jtl_connect jtl_wawi_performance_boost
 
Jtl_connect jtl_fuer_einsteiger
Jtl_connect jtl_fuer_einsteigerJtl_connect jtl_fuer_einsteiger
Jtl_connect jtl_fuer_einsteiger
 
JTL-PartnerConvention: Welcher SQL-Server passt zu mir
JTL-PartnerConvention: Welcher SQL-Server passt zu mirJTL-PartnerConvention: Welcher SQL-Server passt zu mir
JTL-PartnerConvention: Welcher SQL-Server passt zu mir
 
JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Platt...
JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Platt...JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Platt...
JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Platt...
 
JTL-Connector | Anpassung & Erweiterung der Endpoints
JTL-Connector | Anpassung & Erweiterung der EndpointsJTL-Connector | Anpassung & Erweiterung der Endpoints
JTL-Connector | Anpassung & Erweiterung der Endpoints
 
JTL-Wawi | eBay Designvorlagen
JTL-Wawi | eBay DesignvorlagenJTL-Wawi | eBay Designvorlagen
JTL-Wawi | eBay Designvorlagen
 
JTL-Wawi | Workflows
JTL-Wawi | WorkflowsJTL-Wawi | Workflows
JTL-Wawi | Workflows
 
Wie geht's weiter nach der 1.0? Einblick in die Entwicklungsabteilungen von JTL
Wie geht's weiter nach der 1.0? Einblick in die Entwicklungsabteilungen von JTLWie geht's weiter nach der 1.0? Einblick in die Entwicklungsabteilungen von JTL
Wie geht's weiter nach der 1.0? Einblick in die Entwicklungsabteilungen von JTL
 
Eröffnung JTL-Connect 2015
Eröffnung JTL-Connect 2015Eröffnung JTL-Connect 2015
Eröffnung JTL-Connect 2015
 

Jtl_connect jtl_shop_evo_template_best_practices