Obtenir l'url de l'image dans prestashop
J'ai besoin de faire un feed pour mon site web pour une comparaison de site. Il doit être une instruction sql.
Pour l'instant j'ai ceci:
select pl.name as Titel,
ROUND(p.price*1.21,2) as Price,
replace(concat('http://', ifnull(conf.value,'domain/'), cl.name, '/', p.id_product, '-' , pl.name, '.html'),' ','-') as Link,
concat('http://', ifnull(conf.value,'domain'), '/img/p/', p.id_product, '-' , pi.id_image, '.jpg') as "Image-location",
cl.name as Categorie,
p.id_product AS ID
from dbrb_product p
left join dbrb_image pi on p.id_product = pi.id_product
left join dbrb_product_lang pl on p.id_product = pl.id_product
left join dbrb_category_lang cl on p.id_category_default = cl.id_category
left join dbrb_configuration conf on conf.name = 'dbrb_SHOP_DOMAIN'
left join dbrb_product_carrier x on p.id_product = x.id_product
group by p.id_product
Mais maintenant avec la nouvelle prestashop version 1.6 de l'image ne fonctionne plus.
Maintenant le chemin de l'image est: domain.com/img/p/number/number/number/image.png
Je ne comprends pas la logique, quelqu'un peut-il me dire?
Il y a aussi un autre problème que j'ai à traiter, parce qu'il y a certains produits qui ont la même image.
Quelqu'un peut-il remplir le code SQL ou m'aider?
Merci!
OriginalL'auteur user2874583 | 2014-07-10
Vous devez vous connecter pour publier un commentaire.
Est simple, remplacer concat à partir de votre requête pour celui-ci:
concat('http://', ifnull(conf.valeur,'example.com'), '/img/p/',SUBSTRING(pi.id_image de -4 POUR 1),'/',SUBSTRING(pi.id_image de 3 POUR 1),'/',SUBSTRING(pi.id_image de -2 POUR 1),'/',SUBSTRING(pi.id_image de 1 POUR 1),'/' , pi.id_image, '.jpg') product_image,
OriginalL'auteur PrestaDev.pl
Voici le code SQL pour obtenir toutes sortes de détails, y compris de corriger les url des images:
OriginalL'auteur SonnyBoy
Le nombre dans les chemins d'accès à une image est les chiffres de son ID, par exemple à l'image avec l'ID 121 auront le chemin d'accès suivant:
Toutefois, MySQL n'a pas toutes les fonctions intégrées pour ce faire (autant que je sache), de sorte que vous aurez besoin de construire une fonction définie par l'utilisateur.
OriginalL'auteur tungd
Mh, im en utilisant ceci:
concat('http://', ifnull(conf.value,'example.com'), '/img/c/', c.id_category, '.jpg') as url_image,
il fonctionne parfaitement.
OriginalL'auteur elPresta
Le chemin de l'image est basée sur l'id de l'image. Vous divisez tous les chiffres et ajouter une barre oblique entre eux pour obtenir le dossier dans lequel l'image est stockée.
OriginalL'auteur El Manouche
Utiliser le prestashop classe "IMAGE" au lieu de chargement MySql avec des fonctions
Retourne le chemin d'accès au dossier contenant l'image dans le nouveau système de fichiers
Il supprime le numéro de l'image dans les sous-dossiers utilisés par prestashop.
Exemple:
OriginalL'auteur Prescol
Ici $productID est votre ID du produit 🙂
OriginalL'auteur Jaroslaw Baranowski