Redimensionner les colonnes de la fiche produit PrestaShop avec Bootstrap
Guide complet pour modifier la largeur des colonnes sur product.tpl dans PrestaShop grâce au système de grille Bootstrap. Méthode propre et responsive.
En bref : Pour redimensionner les colonnes de la fiche produit PrestaShop, modifiez les classes Bootstrap (col-md-*) directement dans product.tpl en respectant la règle des 12 colonnes. N'utilisez jamais de largeurs en pixels ou de !important qui cassent le responsive.
Comprendre la mise en page de la fiche produit PrestaShop
La fiche produit PrestaShop repose sur le système de grille Bootstrap, un framework CSS qui découpe chaque ligne en 12 colonnes. Modifier la largeur d'un bloc (image, description, colonne d'achat) revient à changer la classe Bootstrap attribuée à la Beaucoup de marchands tentent de forcer des largeurs en pixels avec Bootstrap divise l'espace horizontal en 12 unités. Chaque élément se voit attribuer une classe qui définit combien de colonnes il occupe : Le préfixe change selon le breakpoint (taille d'écran) : PrestaShop 8.x et Bootstrap 4 : Les classes Sur PrestaShop 1.6 (thème default-bootstrap), la fiche produit se compose de trois zones principales : La somme des colonnes doit toujours faire 12 (ici 5 + 4 + 3 = 12). Sur PrestaShop 1.7 et 8.x (thème Classic), la structure utilise deux colonnes : PrestaShop 1.6 : PrestaShop 1.7 / 8.x : Pour agrandir la colonne image et réduire la colonne d'achat sur PrestaShop 1.6 : Sur PrestaShop 8.x, pour donner plus de place aux images : Les classes peuvent se cumuler pour adapter l'affichage par device : Ce C'est le principe fondamental de Bootstrap : plusieurs classes sur un même élément fusionnent leurs règles CSS pour produire un comportement responsive sans media queries manuelles. Cette approche pose plusieurs problèmes : Ne touchez jamais aux fichiers Tout ce que vous devez savoir sur ce sujet. Un projet PrestaShop ? Discutons-en directement. 193 projets livrés Alexandre Carette Expert PrestaShop & Architecture E-commerce Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants. width: 220px !important ou des float: right dans leur feuille de style personnalisée. Cette approche est contre-productive : elle casse le responsive design et crée des conflits avec le framework.Le système de grille Bootstrap en 2 minutes
Classe Largeur occupée Pourcentage `col-md-3` 3/12 25 % `col-md-4` 4/12 33,3 % `col-md-6` 6/12 50 % `col-md-8` 8/12 66,6 % `col-md-12` 12/12 100 %
col-xs-* n'existent plus. Elles sont remplacées par col-* (sans préfixe de breakpoint). Si vous migrez depuis PrestaShop 1.6, pensez à adapter vos templates.Identifier les blocs de la fiche produit
<!-- Colonne image -->
<div class="pb-left-column col-xs-12 col-md-5">
<!-- Carrousel images -->
</div>
<!-- Colonne description centrale -->
<div class="pb-center-column col-xs-12 col-md-4">
<!-- Nom, description courte, attributs -->
</div>
<!-- Colonne achat (droite) -->
<div class="pb-right-column col-xs-12 col-md-3">
<!-- Prix, bouton panier, disponibilité -->
</div>
<div class="col-md-6">
<!-- Images produit -->
</div>
<div class="col-md-6">
<!-- Infos produit : titre, prix, variantes, panier -->
</div>
Méthode propre : modifier les classes dans le template
Étape 1 : Localiser le fichier template
themes/votre-theme/product.tpl
themes/votre-theme/templates/catalog/product.tpl
Étape 2 : Modifier les proportions
<!-- AVANT : image 5 | description 4 | achat 3 -->
<div class="pb-left-column col-xs-12 col-md-6">
<div class="pb-center-column col-xs-12 col-md-4">
<div class="pb-right-column col-xs-12 col-md-2">
<!-- APRÈS : image 6 | description 4 | achat 2 -->
<!-- AVANT -->
<div class="col-md-6"><!-- images --></div>
<div class="col-md-6"><!-- infos --></div>
<!-- APRÈS -->
<div class="col-md-7"><!-- images --></div>
<div class="col-md-5"><!-- infos --></div>
Étape 3 : Gérer le responsive mobile
<div class="pb-center-column col-xs-12 col-sm-6 col-md-4">
Ce qu'il ne faut PAS faire
Forcer des largeurs en pixels
/* ❌ MAUVAISE PRATIQUE */
.box-info-product {
width: 220px !important;
float: right;
}
Modifier le CSS du framework directement
bootstrap.min.css ou aux classes natives. Travaillez uniquement dans vos templates ou dans votre feuille de style enfant.Bonnes pratiques de personnalisation
Récapitulatif par version
Version PS Framework Fichier template Classes typiques 1.6 Bootstrap 3 `themes/*/product.tpl` `col-xs-*`, `col-md-*` 1.7 Bootstrap 4 `themes/*/templates/catalog/product.tpl` `col-*`, `col-md-*` 8.x Bootstrap 4 `themes/*/templates/catalog/product.tpl` `col-*`, `col-md-*` Questions fréquentes
Lire sur le blog
