Jump to content

url rewriting et image ni home, ni thumbnail, ni large etc ...


Recommended Posts

Bonjour,
Je viens d'installer l'url rewriting sur serveur OVH pro, ou tout fonctionne à merveille .. enfin presque.
Le fichier .htaccess est généré avec prestashop.

Voici la rule pour les images produit :

RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg [L,E]



Si je souhaite afficher par exemple
getImageLink($product.link_rewrite, $product.id_image, large )}" img>
www.boutique.com/27-99-large/mon-produit.jpg -> OK www.boutique.com/img/p/27-99-large.jpg est affichée

getImageLink($product.link_rewrite, $product.id_image, home )}" img>
www.boutique.com/27-99-home/mon-produit.jpg -> OK: www.boutique.com/img/p/27-99-home.jpg est affichée
etc ...

Par contre si je veux afficher l'image originelle :
getImageLink($product.link_rewrite, $product.id_image, null)}"
www.boutique.com/27-99/mon-produit.jpg -> NOK ! www.boutique.com/img/c/27-99.jpg n'existe pas bien sur.

Sa ne marche pas car il prends la rule suivante pour les catégorie :

RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [L,E]



Si je modifie la rule des catégorie ainsi :

RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1$2.jpg [L,E]

, bien sur j'arrive à afficher www.boutique.com/27-99/mon-produit.jpg sauf que mes images de catégorie ne marchent plus bien sur.

Comment puis-je concilier les deux ?

Merci d'avance au url rewriter [spam-filter] :D

Cdlt,
Pierre.

Link to comment
Share on other sites

Pour ma part j'ai fait la modification suivante sur getImageLink, qui me permet de bypasser l'url rewriting à la demande:

Modifier class/Link.php ainsi :

   public function getImageLink($name, $ids, $type = null, $bypassAllow = false)
   {
       $ret='';
       if($this->allow == 1 && !$bypassAllow )
       {
           $ret=__PS_BASE_URI__.$ids.($type ? '-'.$type : '').'/'.$name.'.jpg';
       }
       else
       {
           $ret=_THEME_PROD_DIR_.$ids.($type ? '-'.$type : '').'.jpg';            
       }

       return $ret;
   }



et donc appeler son image ainsi pour par exemple l'image d'origine (3ème parametre à null) :

{$link->getImageLink($product->link_rewrite,$product.id_image,null,true)}



Sa répond pas à ma question mais sa répond à ma demande sur le projet.

Cdlt,
Pierre.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...