E-commerce

Régénérer vos miniatures Prestashop en mode bash

Le 29 juin 2018 — Prestashop - 2 minutes de lecture
astuce prestashop

Après avoir changé de thème sous Prestashop on vous demande souvent de régénérer vos images miniatures (thumbnails) via le backoffice de Pretashop. Cette opération s’effectue dans l’interface d’administration, menu Préférences et Images. Vous allez rapidement déchanter par la lenteur du processus et si vous avez un grand nombre de produits cette opération de regénération des miniature va se terminer par une erreur 500, un échec et il vous faudra recommencer.

Script pour regénérer les miniatures Prestashop

J’ai déniché ce petit script sur Github, testé avec Prestashop 1.6 ce script devrait également fonctionner sur Prestashop 1.5

<?php 

define('_PS_ROOT_DIR_', '/var/www/web/'); 
define('_PS_ADMIN_DIR_', _PS_ROOT_DIR_.'adminXXXX'); 
require(_PS_ADMIN_DIR_.'/../config/config.inc.php'); 
require(_PS_ADMIN_DIR_.'/functions.php'); 
class Employee2 extends EmployeeCore { 
public function isSuperAdmin() { return true; } 
public function isLoggedBack() { return true; } 
}

class AdminImagesController extends AdminImagesControllerCore { 
function regenerate() { $this-&amp;gt;_regenerateThumbnails('all', true); } 
}

$context = Context::getContext();
$context-&amp;gt;employee = new Employee2(1);
$aic = new AdminImagesController();
echo date("d-m-Y H:i:s") . " - Starting regeneration\n";
$aic-&amp;gt;regenerate();
echo date("d-m-Y H:i:s") . " - Done regenerating\n";
?>
root@home:~# php regenerate-image.php

Source : https://gist.github.com/julienbourdeau/3c870f8a515a2f1edfe1e64470541122