Aller au contenu
PrestaSafe
  • Accueil
  • PrestashopDéplier
    • Présentation de Prestashop
    • Support et assistance pour Prestashop
    • Création de votre boutique de vente en ligne
    • Cartzilla, un thème PrestaShop Performant, Mobile et SEO
    • Migration PrestaShop
    • Maintenance technique pour site E-commerce PrestaShop
    • Prestations et maintenance site internet e-commerce PrestaShop
  • Blog
  • Devis en ligne
  • BoutiqueDéplier
    • Thèmes Prestashop
    • Modules PrestaShop
  • Mon compteDéplier
    • Programme d’affiliation PrestaSafe
Panier 0
Contact
PrestaSafe
PrestaShop solution e-commerce
blog | ecommerce | prestashop | tuto

TUTO – Modifier le thème de Prestashop 1.7 avec nodeJS

Parguillaume 11 février 20184 janvier 2025

Dans notre précédent article, nous avons vu comment modifier simplement notre thème de base.

Or depuis la version 1.7, Prestashop met à disposition un StarterTheme https://github.com/PrestaShop/StarterTheme

vous le trouverez sur github.com librement.

Pour plus de détails, vous pouvez consulter notre vidéo qui explique comment compiler votre theme PrestaShop rdv sur ce lien

Comment utiliser le StarterTheme ?

Pour le modifier « dans les règles de l’art » il faut utiliser la technologie mise à place à l’aide de nodeJS.

Si on analyse de plus près la structure du thème:

on s’aperçoit qu’il y a un dossier _dev

Tout se passe dans celui-ci.

Prérequis:

Pour modifier ce thème il vous faudra:

  • Installer nodeJS sur votre ordinateur ou serveur https://nodejs.org/en/ prenez toujours une version stable.
  • Avoir un éditeur de code, pour ma part j’utilise depuis peu Visual Studio Code que je trouve vraiment top https://code.visualstudio.com/
  • Savoir utiliser la console de son ordinateur (CMD windows Terminal mac / linux)
  • Avoir git d’installé sur votre ordinateur / serveur (pas obligatoire mais fortement conseillé)

Une fois tout ça mis en place, on peut commencer.

Installer le thème

Pour commencer, rendez vous dans le dossier /themes/ de prestashop et faites un clone du starterTheme ou collez le dossier si vous n’utilisez pas git.

Je me rends dans mon dossier thèmes:

cd themes/

Je clone le StarterTheme:

git clone https://github.com/PrestaShop/StarterTheme.git

Le dossier /themes/ de prestashop ressemble donc à ça:

Rendez vous ensuite dans le dossier du theme et renommez le theme.dist.yml par theme.yml

modifiez ensuite ce fichier et rentrez vos informations:

 

name: StarterTheme
display_name: Starter Theme
version: 3.0.0
author:
  name: "Prestasafe Team"
  email: "contact@prestasafe.com"
  url: "https://prestasafe.com"
meta:
  compatibility:
      from: 1.7.2.0
      to: ~
  available_layouts:
    layout-full-width:
      name: Full Width
      description: No side columns, ideal for distraction-free pages such as product pages.
    layout-both-columns:
      name: Three Columns
      description: One large central column and 2 side columns.
    layout-left-side-column:
      name: Two Columns, small left column
      description: Two columns with a small left column
    layout-right-side-column:
      name: Two Columns, small right column
      description: Two columns with a small right column
global_settings:
  configuration:
    PS_QUICK_VIEW: false
  hooks:
    custom_hooks:
      - name: displayFooterBefore
        title: displayFooterBefore
        description: Add a widget area above the footer
    modules_to_hook:
      displayNav:
        - ps_shoppingcart
        - ps_languageselector
        - ps_currencyselector
        - ps_customersignin
      displayTop:
        - ps_mainmenu
      displayHome:
        - ps_imageslider
        - ps_featuredproducts
        - ps_banner
      displayFooter:
        - ps_contactinfo
  image_types:
    cart_default:
      width: 80
      height: 80
      scope: [products]
    small_default:
      width: 125
      height: 125
      scope: [products, categories, manufacturers, suppliers]
    medium_default:
      width: 300
      height: 300
      scope: [products, categories, manufacturers, suppliers]
    large_default:
      width: 500
      height: 500
      scope: [products]
    home_default:
      width: 250
      height: 250
      scope: [products]
    category_default:
      width: 960
      height: 350
      scope: [categories]
    stores_default:
      width: 170
      height: 115
      scope: [stores]
theme_settings:
  default_layout: layout-full-width
  layouts:
    category: layout-left-side-column
    best-sales: layout-left-side-column

Activez le thème dans Prestashop:

Par défaut le thème ne ressemble à rien:

 

Toujours dans votre console:

rendez vous dans le dossier _dev de votre thème

cd StarterTheme/_dev

lancez la commande:

npm install

Si vous avez des erreurs sous mac ou linux lancer la en sudo:

sudo npm install

ça mouline un petit moment:

Pour ma part tout semble s’être bien déroulé:

Maintenant, toujours dans la console, tapez la commande:

npm run build

Les fichiers se sont bien compilés

Du coup, le theme reste vide, car il n’y a rien, aucun composant ou autre.

Vous pouvez utiliser le StarterTheme si vous voulez faire un theme de A-Z, cela dit, ça vous prendra beaucoup plus de temps que de partir sur une base existante, je vous conseille de partir sur le thème classic, mais tout en utilisant les outils de développement du StarterTheme.

Voici comment faire:

je fais un copie du classic en et je le nomme classicdev

cp -R classic classicdev

puis je me place dans le classicdev/_dev

cd classicdev/_dev

je créé le fichier package.json et je place ce code la:

{
    "name": "prestashop-classic-dev-tools",
    "version": "1.0.0",
    "description": "Tools to help while developing the Classic theme",
    "main": "index.js",
    "scripts": {
        "watch": "webpack -w",
        "build": "webpack"
    },
    "author": "PrestaShop",
    "license": "AFL-3.0",
    "devDependencies": {
        "autoprefixer": "^6.7.7",
        "babel-loader": "^5.3.2",
        "bootstrap": "4.0.0-alpha.5",
        "bootstrap-touchspin": "^3.1.1",
        "bourbon": "^4.2.6",
        "css-loader": "^0.27.3",
        "expose-loader": "^0.7.3",
        "extract-text-webpack-plugin": "^2.1.0",
        "file-loader": "^0.10.1",
        "flexibility": "^1.0.5",
        "jquery": "^2.1.4",
        "material-design-icons": "^2.1.3",
        "node-sass": "^4.5.0",
        "notosans-fontface": "~1.0.1",
        "postcss-flexibility": "^1.0.2",
        "postcss-loader": "^1.3.3",
        "sass-loader": "^6.0.3",
        "style-loader": "^0.14.0",
        "tether": "^1.1.1",
        "velocity-animate": "^1.2.3",
        "webpack": "^2.2.1",
        "webpack-sources": "^0.1.0"
    }
}

J’ai pris le code du package.json du classic theme de la version prestashop de développement sur github

https://github.com/PrestaShop/PrestaShop/blob/1.7.2.x/themes/classic/_dev/package.json

Je lance à nouveau la commande:

npm install

ou

sudo npm install

une fois que tout est installé, je peux lancer la commande

npm run watch

Si vous avez une erreur éditez le ficher webpack.config.js et passez le en mode strict:

Rajoutez:

"use strict";

au début du fichier après les commentaires:

Une fois la commande watch lancée, webpack attendra que je modifie un fichier pour compiler automatiquement.

Maintenant, je n’ai plus qu’a modifier un fichier .scss comme par exemple le theme.scss

je change la couleur du #header

webpack mouline et la compilation se lance:

Du coup sur le frontoffice:

Les couleurs sont changés automatiquement.

Une fois que vous avez fini faites en CTRL + C pour quitter webpack car ce dernier tourne en permanence.

Voila, vous savez comment modifiez votre theme avec les vrai outils,

ces technologies sont un peu compliquées à mettre en place, mais sont vraiment pratiques quand on les maitrise.

Je vous invite à vous renseigner sur la technologie Sass et Less, si vous voulez plus de détails, mais pour faire simple, c’est du css « programmé ».

Petite explication:

Dans le dossier _dev, il y a un sous dossier _partials, qui contient un fichier _variables.scss,

 

je vous invite à jetter un oeil et modifier un peu les variables présentes, vous verrez alors votre theme changer à allure grand V assez simplement.

Si je change la variable $gray_darker,

le system va recompiler automatiquement tous les fichiers ou cette variable est présente, et les transformer en css automatiquement dans le fichier (theme.css du thème), ce qui vous évite d’ouvrir tous vos fichiers css, rechercher la couleur, la remplacer etc…

 

En espèrent que cet article vous aidera à faire de belles modifications sur votre theme Prestashop

Enjoy 😉

 

 

 

Navigation de l’article

Précédent Précédent
Les bases pour débugger Prestashop
SuivantContinuer
[MODULE] – Anti spams sur Prestashop

Publications similaires

  • PrestaShop solution e-commerce
    blog

    Test de prestashop 1.7 version Alpha

    Parguillaume 5 avril 201612 avril 2023

      Dans cet article, nous allons faire un petit tour d’horizon sur la nouvelle version de Prestashop 1.7 actuellement en alpha.    1 – Un backoffice plus simple Dans un premier temps, il semblerait que le backoffice soit allégé. Moins de menu, on trouve un peu plus simplement où l’on veut aller. 2 – Création…

    Lire la suite Test de prestashop 1.7 version AlphaContinuer

  • PrestaShop solution e-commerce
    ecommerce | prestashop | tuto

    TUTO – Modifier le theme de prestashop 1.7

    Parguillaume 30 octobre 201712 avril 2023

    Dans ce tuto nous allons voir les bonnes pratiques pour modifier les couleurs / arrière plan de votre thème de Prestashop 1.7 Pour plus de détails, vous pouvez consulter notre vidéo qui explique comment compiler votre theme PrestaShop rdv sur ce lien Comment modifier la couleur de fond du thème par défaut ? Pour modifier…

    Lire la suite TUTO – Modifier le theme de prestashop 1.7Continuer

  • PrestaShop solution e-commerce
    blog | ecommerce | prestashop

    Supprimer le bouton « Imprimer » sur une fiche produits Prestashop

    Parguillaume 7 février 20188 mai 2023

    Il est parfois embêtant ce bouton « imprimer » sur les fiches produits du thème par défaut de Prestashop 1.6. On peut se dire qu’il s’agit d’un module à désactiver ou dégreffer, mais non.

    Lire la suite Supprimer le bouton « Imprimer » sur une fiche produits PrestashopContinuer

  • PrestaSafe développeur freelance
    Développement | ecommerce | prestashop

    PrestaShop 1.7.7.X – faire fonctionner les envois d’emails

    Parguillaume 16 avril 202112 avril 2023

    Vos emails ne s’envoient depuis votre PrestaShop, du coup, cela implique que votre boutique est bloquée.
    Dans cet article nous vous expliquons tout.

    Lire la suite PrestaShop 1.7.7.X – faire fonctionner les envois d’emailsContinuer

  • PrestaShop solution e-commerce
    blog | bug | ecommerce | prestashop

    Les bases pour débugger Prestashop

    Parguillaume 10 février 20188 mai 2023

    Quand on se lance dans le e-commerce avec Prestashop, il se peut que l’on tombe sur des erreurs ou certaines de nos modifications qui ne marchent pas. Dans ce post, nous allons voir les bases à connaitre et certaines petites astuces…

    Lire la suite Les bases pour débugger PrestashopContinuer

  • Ambassadeur PrestaShop
    blog | Développement | ecommerce

    [VIDEO] – Modifier son thème PrestaShop en ligne, sans FTP

    Parguillaume 20 novembre 202012 avril 2023

    [VIDEO] – Modifier son thème PrestaShop 1.7 en ligne, sans logiciel FTP

    Lire la suite [VIDEO] – Modifier son thème PrestaShop en ligne, sans FTPContinuer

Qui sommes nous ? Spécialiste dans la création de sites internet et notamment dans le e-commerce avec la solution Prestashop et Laravel. Nous intervenons depuis 2011 sur les sites de nos clients : configurations, migrations, développement web, SEO et webdesign sont les activités que nous exerçons tous les jours. Avec PrestaSafe, vous êtes en relation avec un réseau de passionnés qui connaissent leurs métiers.

  • Prestashop
  • E-commerce
  • Blog
  • Développement
  • Bug
  • Hébergement
  • WordPress
  • Sécurité
  • OctoberCMS
  • Non classé

Ressources

  • Contact
  • Support Technique
  • Maintenances technique
  • Mention légales
  • Devis en ligne
  • Conditions générales de vente
  • Politique de sécurité.

Suivez-nous

Facebook Twitter YouTube Linkedin

© 2025 PrestaSafe

Loading...
PrestaSafe
Gérer le consentement
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
L’accès ou le stockage technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
L’accès ou le stockage technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’internaute.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
L’accès ou le stockage technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
  • Gérer les options
  • Gérer les services
  • Gérer {vendor_count} fournisseurs
  • En savoir plus sur ces finalités
Voir les préférences
  • {title}
  • {title}
  • {title}
  • Accueil
  • Prestashop
    • Présentation de Prestashop
    • Support et assistance pour Prestashop
    • Création de votre boutique de vente en ligne
    • Cartzilla, un thème PrestaShop Performant, Mobile et SEO
    • Migration PrestaShop
    • Maintenance technique pour site E-commerce PrestaShop
    • Prestations et maintenance site internet e-commerce PrestaShop
  • Blog
  • Devis en ligne
  • Boutique
    • Thèmes Prestashop
    • Modules PrestaShop
  • Mon compte
    • Programme d’affiliation PrestaSafe

Insérer/modifier un lien

Saisissez l’URL de destination

Ou alors, faites un lien vers l’un des contenus de votre site

    Aucun mot n’a été donné pour cette recherche. Voici les recherches précédentes. Recherchez ou utilisez les flèches haut et bas pour choisir un élément.
      Rechercher