Astuce Presta passage de 1.6 à 1.7 en gardant les images rubriques et sous rubriques

WRInaute discret
Bonjour,

J’ai un site d’e-commerce prestashop qui est sur la version 1.6.1.18. Le template actuel est le template de base de Presta. C’est-à-dire celui qui est d’origine, blanc avec un header avec 3 images 1 grande et deux petites.
Je pense qu'il faudra changer les choses sur la home.

Je souhaite passer à la version 1.7. par ces temps de crise. Le module one click upgrade propose le 1.7 au lieu du 1.6.1.24
d’ailleurs
Je ne pense pas qu’il y ait des soucis majeur concernant les fiches produits et leurs images.

Cependant j’aimerais avoir un avis sur la possibilité de ne pas avoir à retravailler toutes les images de rubriques et sous-rubriques. Ces images ont une certaine taille et en plus de ça elles sont travaillées pour pouvoir faire apparaître un texte en blanc sur fond sombre.
Et par manque de temps je souhaiterais garder sans que cela soit disgracieux cette taille d’image et éventuellement les typos.
Est-ce que vous pensez que la version 1.7 permet de conserver ces images qui était travaillées selon la version 1.6.
Je suis preneuse de vos avis. Restez à la maison.
 
WRInaute accro
Les différentes versions Prestashop n'ont rien a voir avec la taille des images, la taille des images dépend uniquement de votre thème, depuis la première version de Presta on peut ajuster la taille des images (vignettes)
Via votre Back Office, allez dans préférences > images et la vous aurez les différents formats ajustables selon votre thème.
Prestashop converse la photo originale, puis génère les vignettes, donc lors de la mise a jour vous retrouverez vos images.
 
WRInaute discret
Merci KOogar, en effet, je vais garder les images en passant sur 1.7 ré-éditées en vignettes et d'autant plus les formats des fiches produits. ok.
Je me suis mal exprimée. Je demande de préciser svp.
Je regarde le thème du 1.7: les templates sont différents depuis le 1.4.
J'ai travaillé à fonds des dizaines de visuels rubriques et sous rubriques dès le passage en 1.6.
Ainsi, si je migre,
-vais je garder les images adaptées au thème 1.7? Ou bien cela ne va pas convenir et je serai obligée de passer par du webmastering un peu complexe pour adapter mes nombreux visuels à 1.7.
-Ou bien est ce "facilement" gérable car les dispositifs sont identiques quel que soit le thème origine ou acheté en faisant l'ajustement que vous expliquez: préférences > images et la vous aurez les différents formats ajustables selon votre thème.
Merci.
 
WRInaute accro
C'est facilement gérable car a tout moment vous pouvez générer via le Back Office les vignettes du site, Prestashop conservant les images originales.

Un point important et délicat dans un changement de thème est de faire attention a garder le même format d'image.

Par exemple si votre ancien format est CARRE et que le nouveau est RECTANGULAIRE, vous aurez des problème d'affichage.

Aussi, il se peut également que les 2 formats soit RECTANGULAIRE (ancien et nouveau) mais n'aient pas le même ratio Hauteur/Largeur, la aussi vous risquez de rencontrer des problèmes d'affichage.

Donc, faites bien attention a avoir les mêmes formats d'images sur vos 2 thèmes (ancien et nouveau), d'autant plus que vous avez travailler les images de l'ancien thème et que vous ne voulez pas perdre ce travail.
Modifier le code source d'un thème pour ajuster les images est évidement faisable mais cela peut s'avérer être long, fastidieux et fort coûteux.

Voici un code PHP en exclue, je l'ai fait écrire il y a 10 ans pour la 1.3, il permet de générer les vignettes à la volée, et il fonctionne qu'elle que soit la version de Prestashop. (1.3 -> 1.7)
Pour l'utiliser : Renseigner l'ID product et le nom de l'image
PHP:
<?php
require_once('config/config.inc.php');
include_once('init.php') ;
/******************************************************************************/
/*                                                                            */
/*  FONCTIONS                                                                 */
/*                                                                            */
/******************************************************************************/
function save($product_id, $name)
{
    $product = new Product($product_id);
    if (!Validate::isLoadedObject($product))
        return array('error' => 'Erreur sur le produit');
    else
    {
        $image = new Image();
        $image->id_product = (int) $product->id;
        $image->position = Image::getHighestPosition($product->id) + 1;
        if ( !Image::getCover($image->id_product) )
            $image->cover = 1;
        else
            $image->cover = 0;
        if ( !$image->add() )
            return array('error' => 'Erreur lors de la création de l\'image');
        else
            return copy_image($product->id, $image->id, $name);
    }
}
function copy_image($id_product, $id_image, $name, $method = 'auto')
{
    global $pictures_dir;
  
    $tmp_name = dirname(__FILE__) . '/' . $pictures_dir . '/' . $name;
    $image = new Image($id_image);
    if ( !$new_path = $image->getPathForCreation() )
        return array('error' => 'Une erreur est survenu lors de la création du sous répertoire');
    elseif ( !ImageManager::resize($tmp_name, $new_path . '.' . $image->image_format) )
        return array('error' => 'Une erreur est survenue lors de la copie de l\'image');
    elseif ( $method == 'auto' )
    {
        $imagesTypes = ImageType::getImagesTypes('products');
        foreach ($imagesTypes as $imageType)
        {
            if ( !ImageManager::resize($tmp_name, $new_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format, $imageType['width'], $imageType['height'], $image->image_format) )
                return array('error' => 'Une erreur est survenue lors de la copie de l\'image' . ' ' . stripslashes($imageType['name']));
        }
    }
    Hook::exec('actionWatermark', array('id_image' => $id_image, 'id_product' => $id_product));
    if (!$image->update())
        return array('error' => 'Erreur lors de la mise à jour de l\'image');
    return array('success' => 'ok');
}
    // utilisation
    $product_id = ; // id d produit
    $name = ''; // nom de l'image
    save($product_id, $name);
?>
 
WRInaute discret
Ah, voilà le détail que j'attendais. Parfait et merci beaucoup. Parfois ce genre d'info peut couler de source pour certains. Presta ne standardise pas et on peut pas sur un thème pousser un curseur qui adopterait tel ou tel "standart" d'affichage des visuels.
Si on a pas un template qui colle au format précédent c'est cuit et surtout difficile à rattraper.
Bien entendu, je ne pense pas que les éditeurs s'encombrent à spécifier le format des images de rubriques.
Merci pour le code et j'en parle de tout çà à mon webmaster qui n'avais pas d'avis sur le sujet. .
 
Discussions similaires
Haut