5 trucs à savoir pour bien installer un thème sur la version 1.6 de Prestashop

Cet article fait un peu suite à celui que j'ai publié sur les problèmes fréquents lors de l'installation d'un thème sur une boutique Prestashop. La sortie de la version 1.6 de Prestashop a engendré de nouveaux petits soucis de compréhension.
Là encore et comme pour mon article précédent, je vais détailler ceux qui sont le plus souvent rencontrés et qui ne sont pas des problèmes à proprement parler mais surtout des choses à savoir pour installer un thème correctement sur la version 1.6 de Prestashop.
1 - Sélection du thème à activer sur la boutique
Comme vous avez certainement pu le constater, la sélection du thème à activer sur la boutique est différente de celle des précédentes versions de Prestashop. Il est désormais possible de sélectionner les modules à activer ou désactiver.
Cette option aurait pu être sympa, sauf que de ce que j'ai pu voir jusqu'à présent, elle ne fonctionne qu'une fois sur trente, c'est-à-dire que quel que soit le thème sélectionné, les modules proposés à l'activation/désactivation sont toujours ceux du thème par défaut...
Alors c'est cool quand on veux activer le thème par défaut mais ça l'est beaucoup moins quand il s'agit d'en activer un autre ! Donc la meilleure façon pour l'instant d'activer un thème autre que celui par défaut est de décocher absolument tous les modules proposés lors de cette étape afin d'éviter le bordel sur la boutique.
Idem lorsque vous souhaitez activer le thème par défaut temporairement par exemple pour effectuer des tests. Décochez tous les modules proposés sinon vous allez devoir reconfigurer tous les modules de votre thème habituel lorsque vous voudrez le réactiver.
2 - L'ancien thème se mélange avec le nouveau thème installé
Cette phrase précise est typique des gens qui ne comprennent pas comment fonctionne exactement les thèmes et les modules sur Prestashop. Les thèmes ne se mélangent pas entre eux, jamais, absolutely never... ou alors si vraiment c'est le cas Houston we have a problem !!...
Cela peut donner cette impression mais en fait ce sont juste certains modules utilisés par l'ancien thème qui ne sont tout simplement pas désactivés, ou mal placés. Il convient donc de repérer quels sont ces modules et soit de les désactiver, soit de les placer conformément aux préconisations du nouveau thème installé.
3 - Les colonnes n'apparaissent pas ou uniquement sur certaines pages
Ce souci peut être causé par plusieurs facteurs qu'il convient de bien vérifier :
- Vérifier que les colonnes du thème sont bien activées dans l'onglet Préférences >> Thèmes.
- Vérifier que les modules des colonnes n'ont pas d'exceptions dans l'onglet Modules >> Positions. C'est souvent ce qui cause ce problème car dans la version 1.6 de Prestashop, tous les modules des colonnes ont par défaut 180000 exceptions...
- Vérifier que les modules sont bien greffés dans les bonnes colonnes. Cela paraît bête mais parfois on peut passer à côté.
- Vérifier que l'affichage des colonnes n'est pas geré par les controllers. C'est un peu plus technique mais moi comme je suis très super gentille, je précise comment faire pour modifier cela dans les documentations PDF de mes thèmes.
4 - Certains modules ne peuvent pas êtres greffés sur certains hooks
En mettant à jour mes thèmes pour la version 1.6 de Prestashop, je me suis aperçue que certains modules ne pouvaient plus être greffés à certains hooks. J'ai remarqué cela spécialement pour le module "Bloc Meilleures Ventes" qui ne peut plus être greffé au homepage alors que cela était possible dans les précédentes versions.
Qu'à cela ne tienne, il suffit de redonner cette possibilité à ce module et pour cela rien de plus simple, il suffit d'ajouter dans son fichier PHP (blockbestsellers.php) les lignes suivantes :
public function hookHome($params)
{
if (!isset(BlockBestSellers::$cache_best_sellers))
BlockBestSellers::$cache_best_sellers = $this->getBestSellers($params);
$this->smarty->assign(array(
'best_sellers' => BlockBestSellers::$cache_best_sellers,
'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')),
'smallSize' => Image::getSize(ImageType::getFormatedName('small'))
));
if (BlockBestSellers::$cache_best_sellers === false)
return false;
return $this->display(__FILE__, 'blockbestsellers-home.tpl', $this->getCacheId('blockbestsellers-home'));
}
Et boum on peut de nouveau greffer le module au homepage et ça c'est trop bien quand même.
5 - Certaines fonctionnalités du thème par défaut ne sont pas présentes
Là malheureusement je n'ai pas d'astuce à vous donner car oui, cela peut arriver. Chaque thème est libre de reprendre ou non les fonctionnalités présentes dans le thème par défaut de Prestashop.
En règle générale, les fonctionnalités les plus importantes ou indispensables sont toujours présentes mais les fonctionnalités que l'on pourrait qualifier de "gadgets" comme par exemple l'aperçu rapide des produits ou l'ajout au panier avec popup ne sont pas forcément reprises sur les thèmes tiers. Inversement d'ailleurs, il arrive que certaines fonctionnalités qui ne sont pas présentes sur le thème par défaut de Prestashop soient en revanche intégrées dans des thèmes tiers.
Il convient toujours lorsque l'on souhaite acquérir un nouveau thème de bien lire les descriptions, documentations et fiches techniques et également de bien faire le tour de la démo live lorsqu'elle est disponible. Et en cas de doute, ne pas hésiter à contacter l'auteur du thème.
Conclusion
La version 1.6 de Prestashop a un peu modifié les habitudes mais les soucis rencontrés lors de l'installation d'un thème restent majoritairement des soucis de compréhension et de connaissance du fonctionnement de Prestashop. Lorsque vous rencontrez un problème pour installer un thème Prestashop et que les indications que vous pouvez trouver dans les documentations ou sur les différents blogs et forums ne vous aident pas, alors n'hésitez pas à contacter l'auteur du thème.
7 commentaires
Eolia
25/06/2014
Le genre de post qui devraient être épinglés chez Prestashop...
Prestacrea
03/07/2014
C'est vrai que ce n'est pas toujours facile pour les nouveaux venus de comprendre certaines subtilités de Prestashop :)
lotfi
11/08/2014
Tout simplement.
julboogie
03/12/2014
Merci pour le truc sur blockbestsellers. cependant, lorsque j'intègre votre code dans blockbestsellers.php, j'obtiens une erreur :
[PrestaShop] Fatal error in module blockbestsellers:
syntax error, unexpected T_STRING, expecting T_FUNCTION
Prestacrea
09/12/2014
Dans ce cas c'est que l'intégration du code a été mal réalisée (erreur de syntaxe, intégration au mauvais endroit...)
Pat
13/01/2015
Pouvez-vous m'expliquer ce qui cloche SVP ?
Je précise que j'ai vérifié toutes les exceptions et les différents points que vous précisez dans vos 5 trucs. Aucune explication plausible dans les forums sur le Web.
Prestacrea
19/01/2015
Aucune idée, le meilleur moyen d'avoir une réponse serait de poster votre problème sur le forum Prestashop.