Cet article explore Oxyd Esales, une robuste plate-forme de commerce électronique, en se concentrant sur son système de théâtre et ses capacités de personnalisation. La première partie a introduit la plate-forme; Cette partie se plonge dans la création et la modification du thème.
Concepts clés:
Comprendre les thèmes oxydaires:
Les thèmes oxydaires fonctionnent de manière similaire à celles des autres applications. Ils permettent aux développeurs et aux concepteurs de manipuler des données accessibles via des bibliothèques de base, des modules personnalisés et des extensions. Le moteur Smarty permet une syntaxe de type PHP et un accès PHP complet si nécessaire.
L'extrait header.tpl
suivant illustre les balises Smarty dans HTML:
<code>[{assign var="slogoImg" value="logo.png"}] <a href="//m.sbmmt.com/link/0b49b88c68f7ecbdb73f50496c084a1e" id="logo"> </a> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/" class="lazy" alt="PHP Master | OXID eSales - The E-Commerce Platform that Just Works! 2">oxshops__oxtitleprefix->value}]"> [{oxid_include_widget cl="oxwCategoryTree" cnid=$oView->getCategoryId() sWidgetType="header" _parent=$oView->getClassName() nocookie=1}] [{if $oxcmp_basket->getProductsCount()}] [{assign var="blAnon" value=0}] [{assign var="force_sid" value=$oViewConf->getSessionId()}] [{else}] [{assign var="blAnon" value=1}] [{/if}] [{oxid_include_widget cl="oxwMiniBasket" nocookie=$blAnon force_sid=$force_sid}] [{include file="widget/header/search.tpl"}] [{if $oView->getClassName()=='start' && $oView->getBanners()|@count > 0 }] <div class="oxSlider"> [{include file="widget/promoslider.tpl" }] </div> [{/if}]</code>
oxyd fournit des plugins Smarty personnalisés sous /core/smarty/plugins
. L'exemple ci-dessus montre la logique conditionnelle, l'inclusion du modèle et l'utilisation du widget (oxwCategoryTree
, oxwMiniBasket
). L'accès à la base de données est obtenu via des méthodes magiques sur des objets oxydaires (par exemple, $oxcmp_shop->oxshops__oxtitleprefix->value
).
Structure des fichiers de thème (CE 4.7, PE / EE 5.0):
/application/views/<theme>/</theme>
: modèles, traductions, fichiers de configuration. /out/<theme>/</theme>
: fichiers publics (CSS, javascript, images). Création d'un thème personnalisé ("SitePoint"):
Nous étendrons le thème "Azure". Créer application/views/sitepoint/theme.php
:
<code>[{assign var="slogoImg" value="logo.png"}] <a href="//m.sbmmt.com/link/0b49b88c68f7ecbdb73f50496c084a1e" id="logo"> </a> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/" class="lazy" alt="PHP Master | OXID eSales - The E-Commerce Platform that Just Works! 2">oxshops__oxtitleprefix->value}]"> [{oxid_include_widget cl="oxwCategoryTree" cnid=$oView->getCategoryId() sWidgetType="header" _parent=$oView->getClassName() nocookie=1}] [{if $oxcmp_basket->getProductsCount()}] [{assign var="blAnon" value=0}] [{assign var="force_sid" value=$oViewConf->getSessionId()}] [{else}] [{assign var="blAnon" value=1}] [{/if}] [{oxid_include_widget cl="oxwMiniBasket" nocookie=$blAnon force_sid=$force_sid}] [{include file="widget/header/search.tpl"}] [{if $oView->getClassName()=='start' && $oView->getBanners()|@count > 0 }] <div class="oxSlider"> [{include file="widget/promoslider.tpl" }] </div> [{/if}]</code>
Créer /out/sitepoint/img
et /out/sitepoint/src
, ajoutant theme.jpg
et un logo.png
modifié. Activez le thème du panneau d'administration. Effacer le répertoire /tmp
pour effacer le cache de l'oxyde.
Exemples de personnalisation:
logo.png
met à jour le logo. application/views/sitepoint/tpl/layout/header.tpl
(copié de azure
). application/views/sitepoint/tpl/page/account/dashboard.tpl
et ajout de traductions dans application/views/sitepoint/de/cust_lang.php
et application/views/sitepoint/en/cust_lang.php
.
Conclusion:
Ce guide démontre le système de thème d'Oxyd, permettant une personnalisation simple. La partie 3 explorera le développement de modules personnalisés pour la personnalisation avancée.
(Remarque: Les URL de l'image sont supposées être correctement fonctionnelles dans le contexte d'origine. Ils sont conservés dans la sortie comme demandé.)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!