monicaamb Posted March 9, 2023 Share Posted March 9, 2023 (edited) He obtenido la imagen principal mediante una consulta sql. Mi pregunta es, ¿podría obtener las urls de TODAS las imágenes? Incluidas las de la galería Edited March 14, 2023 by monicaamb (see edit history) Link to comment Share on other sites More sharing options...
ExpertoPrestaShop Posted March 9, 2023 Share Posted March 9, 2023 Claro. Igualito que hiciste con la imagen principal. El resto de los ID de las imágenes asociadas a los productos están en la misma tabla ps_image y puedes generar la URL de la misma manera. Suerte. Link to comment Share on other sites More sharing options...
monicaamb Posted March 10, 2023 Author Share Posted March 10, 2023 On 3/9/2023 at 4:56 PM, ExpertoPrestaShop said: Claro. Igualito que hiciste con la imagen principal. El resto de los ID de las imágenes asociadas a los productos están en la misma tabla ps_image y puedes generar la URL de la misma manera. Suerte. Gracias pero no logro hacerlo. Ahora mismo tengo la consulta así: SELECT p.active 'Active', m.name 'Manufacturer', p.id_product 'Product number', p.reference 'Reference', pl.name 'Product name', GROUP_CONCAT(DISTINCT(al.name) SEPARATOR ", ") AS 'Combination', s.quantity 'Quantity', p.price 'Price w/o VAT', pa.price 'Combination price', p.wholesale_price 'Wholesale price', GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR ",") AS 'Product groups', p.weight 'Weight', p.id_tax_rules_group 'TAX group', pa.reference 'Combination reference', pl.description_short 'Short description', pl.description 'Long description', pl.meta_title 'Meta Title', pl.meta_keywords 'Meta Keywords', pl.meta_description 'Meta Description', pl.link_rewrite 'Link', pl.available_now 'In stock text', pl.available_later 'Coming text', p.available_for_order 'Orderable text', p.date_add 'Added', p.show_price 'Show price', p.online_only 'Only online', GROUP_CONCAT("http://", su.domain, su.physical_uri , IF(pai.id_image IS NOT NULL,pai.id_image,im.id_image), "/", REPLACE(REPLACE(REPLACE(pl.name," ","_"),"\"",""),"#",""), ".jpg") as "Image URL" FROM w5kn_product p LEFT JOIN w5kn_product_lang pl ON (p.id_product = pl.id_product and pl.id_lang=2) LEFT JOIN w5kn_manufacturer m ON (p.id_manufacturer = m.id_manufacturer) LEFT JOIN w5kn_category_product cp ON (p.id_product = cp.id_product) LEFT JOIN w5kn_category c ON (cp.id_category = c.id_category) LEFT JOIN w5kn_category_lang cl ON (cp.id_category = cl.id_category and cl.id_lang=2) LEFT JOIN w5kn_product_attribute pa ON (p.id_product = pa.id_product) LEFT JOIN w5kn_stock_available s ON (p.id_product = s.id_product and (pa.id_product_attribute=s.id_product_attribute or pa.id_product_attribute is null)) LEFT JOIN w5kn_product_tag pt ON (p.id_product = pt.id_product) LEFT JOIN w5kn_product_attribute_combination pac ON (pac.id_product_attribute = pa.id_product_attribute) LEFT JOIN w5kn_attribute_lang al ON (al.id_attribute = pac.id_attribute and al.id_lang=2) LEFT JOIN w5kn_shop sh ON p.id_shop_default = sh.id_shop LEFT JOIN w5kn_shop_url su ON su.id_shop = sh.id_shop AND su.main = 1 LEFT JOIN w5kn_image im ON (p.id_product = im.id_product AND im.cover = 1) --LEFT JOIN w5kn_image im ON (p.id_product = im.id_product AND im.id_image = 1)-- LEFT JOIN w5kn_product_attribute_image pai ON (pai.id_product_attribute = s.id_product_attribute) GROUP BY p.id_product,pac.id_product_attribute order by p.id_product He añadido la línea entre -- pero no tengo claro que es lo que tengo que añadir donde pone SELECT. Link to comment Share on other sites More sharing options...
ExpertoPrestaShop Posted March 10, 2023 Share Posted March 10, 2023 2 hours ago, monicaamb said: im.cover = 1 Estas filtrando las imágenes para obtener solo la imagen por defecto, que es una sola por producto. Si quizás esa condiciones deberías obtener todas las imágenes, pero evidentemente vas a tener filas de productos "repetidas", una por cada imagen del producto. Link to comment Share on other sites More sharing options...
monicaamb Posted March 13, 2023 Author Share Posted March 13, 2023 On 3/10/2023 at 7:34 PM, ExpertoPrestaShop said: Estas filtrando las imágenes para obtener solo la imagen por defecto, que es una sola por producto. Si quizás esa condiciones deberías obtener todas las imágenes, pero evidentemente vas a tener filas de productos "repetidas", una por cada imagen del producto. Muchas gracias, ya lo tengo. Pero es verdad que si por ejemplo tengo 3 imágenes en un producto, se me repiten esas 3 imágenes mostrándose un total de 6, es decir, se me duplican las imágenes por producto. ¿A eso te refieres con lo de filas de productos repetidas? ¿Por qué ocurre esto? Link to comment Share on other sites More sharing options...
ExpertoPrestaShop Posted March 13, 2023 Share Posted March 13, 2023 7 hours ago, monicaamb said: Muchas gracias, ya lo tengo. Pero es verdad que si por ejemplo tengo 3 imágenes en un producto, se me repiten esas 3 imágenes mostrándose un total de 6, es decir, se me duplican las imágenes por producto. ¿A eso te refieres con lo de filas de productos repetidas? ¿Por qué ocurre esto? Si a eso me refería. Es por la forma en que estas haciendo la consulta. Posiblemente hay un JOIN que debe tener una condicional adicional para evitar que aparezcan duplicados las filas. Link to comment Share on other sites More sharing options...
monicaamb Posted March 14, 2023 Author Share Posted March 14, 2023 On 3/13/2023 at 4:11 PM, ExpertoPrestaShop said: Si a eso me refería. Es por la forma en que estas haciendo la consulta. Posiblemente hay un JOIN que debe tener una condicional adicional para evitar que aparezcan duplicados las filas. Muchas gracias Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now