Dans ce tutoriel, nous allons voir comment créer un thème enfant pour prestashop 1.7
Ce tutoriel existe aussi en vidéo en fin de page.
Dans le dossier thème de prestashop créer un nouveau dossier, nous, nous l’appellerons classic-child car nous allons faire un thème enfant du thème classic, le thème par défaut de prestashop 1.7
Dans ce dossier, créer un dossier config, dans lequel vous allez créer un fichier theme.yml avec un éditeur de texte, par exemple notepad++
Sur ce fichier, écrire :
parent: classic name: classic-child display_name: Mon theme enfant version: 1.0.0 assets: use_parent_assets: true
Parent : c’est le nom du dossier du thème parent, dans notre cas le thème classic
name c’est le nom de votre thème, j’ai fait simple…
display_name : le nom qui s’affichera
laissez asset vide
et mettez use_parent_assets sur true
Créez aussi une image preview.png qui peux être une copie de celle du thème parent.
Maintenant rendez-vous dans votre back-office allez sur l’onglet apparence, puis thème, votre thème doit être apparu dans la liste des thèmes disponibles.
Sans autre modifications, votre thème enfant utilisera chaque fichiers du thème
Et voila, vous savez maintenant comment créer un thème enfant à partir d’un thème parent pour prestashop 1.7
Merci pour vos excellents tutos !
Cependant en ce qui concerne celui-ci, je l’ai suivi à la lettre mais à la fin quand je vais dans le menu theme pour sélectionner mon nouveau child theme, j’ai une erreur 500. Avez vous rencontré ce problème ou une idée de solution ?
Ma version 1.7.0.5
Bonjour,
Non je n’ai pas rencontré ce problème, mais avez vous bien fait attention aux différents noms afin qu’il soient exactement les même (majuscule aussi).
Cordialement
Bonjour,
Peut-être un problème de droits d’écriture dans le répertoire du thème. Prestashop va y créer un répertoire assets/cache, il doit pour ça pouvoir écrire dans le répertoire du thème, sinon on aura droit à une erreur 500, comme ça a été le cas chez moi.
Salut,peut tu m’expliquer
Les droits d’écriture dans le répertoire du thème,erreur 500.Je rencontré toujours le même problème.
Bonjour,
Merci pour votre tuto !
Je débute sur Prestashop.
J’ai bien effectué les modifications enseigné ci dessus cependant quand j’active le thème enfant via l’administration j’ai un message d’erreur provenant de Prestashop:
[PrestaShopException]
[ThemeRepository] Theme configuration file not found for theme at `/home/kd/sd/presta.kalvansdesign.com/public_html/themes/classic-child/config/theme.yml`.
at line 129 in file src/Core/Addon/Theme/ThemeRepository.php
Pouvez-vous me venir en aide?
Merci d’avance.
Bonjour,
Je pense à un problème de majuscule avez vous vérifié que tous les noms sont bien avec les mêmes majuscules.
Bonjour,
Merci pour le partage, oui pour l’erreur précédente cela peut être du à un espace ou une majuscule.
Bonjour,
pouvez vous m’expliquer les différents intérêts à créer un thème enfants ?
Merci 😉
Faire des modifications rapidement sur le thème et avoir accès aux mise à jour du thème.
Bonjour et merci pour votre tuto vidéo.
Si je souhaite faire quelques modifications couleur de boutons ou autres, quels fichiers css dois-je modifier dans le chil-classic ? Et si je fais une mise à jour de Prestashop, qui va aussi mettre à jour le thème par défaut, est-ce que je vais perdre mes modifications css ? Merci à vous pour votre réponse.
Bonjour,
l’installation du thème enfant a bien fonctionné.
J’ai ajouté quelques lignes de code dans le fichier theme.yml mais cela n’a aucun effet sur l’affichage du front. Est-ce bien ici qu’il faut intervenir ou dans un autre fichier ?
merci pour votre réponse
Bonjour,
Il ne faut surtout pas toucher au fichier theme.yml une fois la manip faite, vous devez rajouter des fichiers en entier. Que souhaitez vous modifier ?
le fond du header et les couleurs des typos / boutons
Bonjour,
Du coup c’est les fichiers css qu’il faut modifier.
Bonne journée
Bonjour,
J’ai aussi eu une erreur 500, mais en enlevant l’accent dans le nom du thème enfant (dans le doc .yml) ça a fonctionné.
idem pour moi il faut enlever le é sur mot theme 🙂 merci pour la solution
Bonjour,
est-il possible à votre connaissance de baser un child template sur un autre child template ?
(child template avec les corrections générales, puis child template du premier child template pour la customisation par boutique)
Je pense que ca n’est pas une bonne idée.
Bonjour, j’ai bien tout suivi à la lettre, je suis sous prestashop 1.7.6 et PHP 7.2. Lorsque que je veux basculer sur le thème enfant j’ai ce message « Une erreur est survenue. Le modèle « templates/contact.tpl » est manquant. » Avez-vous une idée ?
Bonjour, est ce que le fichier contact.tpl est bien présent sur le thème parent ?
Non, effectivement il n’y a pas grand chose dans les dossiers mais le thème en lui même fonctionne bien. C’est celui-ci : https://www.prestashop.com/forums/topic/334322-free-prestashop-17-theme-minimal/
Je pense que c’est déjà un thème enfant. Et on ne peux pas faire un thème enfant d’un thème enfant. Si c’est le cas, il vous faut travailler directement sur ce thème.
Ah oui je vois effectivement. Bon finalement c’était simple. Merci 🙂