Astuces Prestashop 1.6 en vrac

By 24 mai 2017Prestashop

Au fil du temps, nous avons accumulé tout un tas de petites astuces que nous conservons en lieu sûr pour ne pas réinventer la roue à chaque boutique… 😉 Nous vous les partageons donc aujourd’hui avec vous, il s’agit d’un work in progress que nous allons enrichir au fil du temps (disponible…), n’hésitez pas à en rajouter dans les commentaires.

Afficher le contenu d’une variable dans vos templates

Pour débuguer et afficher le contenu d’une variable dans une template (.tpl) : {$mavariable|print_r}

Web service

Un problème pour vérifier si votre webservice est bien activé ? Il faut ajouter ces lignes dans votre .htaccess à la racine de votre boutique Prestashop :

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]

Pour tester ensuite, rendez-vous dans votre boutique à l’url : http://maboutique.com/api/customers/1?ws_key=votre_numero_ici

Activer tous les pays et toutes les zones dans le Back-Office

Si vous voulez faire ça à la main, c’est interminable 😉 Donc, le mieux est de passer par PhpMyAdmin et de saisir les requêtes SQL suivantes :

UPDATE `PREFIX_country` SET `active`=1
UPDATE `PREFIX_zone` SET `active`=1

Activer le débugage de votre boutique

Dans le fichier config/defines.inc.php mettre le flag _PS_MODE_DEV_ à true

/* Debug only */
if (!defined('_PS_MODE_DEV_')) {
    define('_PS_MODE_DEV_', true);
}

Attention : pensez à désactiver sur une boutique en production…

Comment savoir quelle template est utilisée sur une page de votre boutique en ligne ?

Aujourd’hui, une petite astuce bien pratique pour savoir quelle template est utilisée dans la page affichée sous vos yeux. Nous avons ajouté un accordéon Bootstrap pas forcément utile ici mais ça fait l’occasion 😉

Ouvrez le fichier /shop/classes/module/Module.php et cherchez la fonction
public function display($file, $template, $cache_id = null, $compile_id = null)

Après la ligne $this->resetCurrentSubTemplate($template, $cache_id, $compile_id); ajoutez le code

if($result && _PS_MODE_DEV_ === true){
 $tpl_path = $this->getTemplatePath($template);
  $result = '<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-hand-right"></span></a><div class="nav-collapse collapse" style="float:left;background:#f83; color:#000;border:1px solid black; padding:4px; z-index:100;">' . $tpl_path . '</div>' . $result;
}
return $result;

Activez ensuite le mode dev dans /shop/config/defines.inc.php (voir astuce précédente)

Désactiver tous les produits en promotion

Depuis PhpMyAdmin, voici la requête à insérer :

UPDATE ps_product_shop set on_sale=0;

A suivre…

Artcompix

 

Laisser un commentaire