{"id":582,"date":"2022-05-19T11:05:06","date_gmt":"2022-05-19T11:05:06","guid":{"rendered":"https:\/\/www.josejavierfm.es\/blog\/?p=582"},"modified":"2022-05-19T13:56:12","modified_gmt":"2022-05-19T13:56:12","slug":"mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop","status":"publish","type":"post","link":"https:\/\/www.josejavierfm.es\/blog\/2022\/05\/19\/mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop\/","title":{"rendered":"Mostrar imagen de combinaci\u00f3n en carrito de la tienda en Prestashop"},"content":{"rendered":"<p>Si tenemos una tienda con combinacion de productos, cada uno de ellos puede tener asociada una o mas imagenes<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.45.39.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.45.39-1024x623.png\" alt=\"\" class=\"wp-image-586\" width=\"514\" height=\"313\" srcset=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.45.39-1024x623.png 1024w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.45.39-300x182.png 300w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.45.39-768x467.png 768w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.45.39-1536x934.png 1536w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.45.39-2048x1245.png 2048w\" sizes=\"(max-width: 514px) 100vw, 514px\" \/><\/a><\/figure>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.46.57.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.46.57-1024x324.png\" alt=\"\" class=\"wp-image-587\" width=\"525\" height=\"165\" srcset=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.46.57-1024x324.png 1024w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.46.57-300x95.png 300w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.46.57-768x243.png 768w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.46.57-1536x486.png 1536w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.46.57.png 1916w\" sizes=\"(max-width: 525px) 100vw, 525px\" \/><\/a><\/figure>\r\n\r\n\r\n\r\n\r\n<p>si elegimos una en concreto con combinacion, al a\u00f1adir al carrito muestra la foto del producto por defecto<\/p>\r\n<a href=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-15.44.10.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-15.44.10-300x288.png\" alt=\"\" width=\"300\" height=\"288\" class=\"alignnone size-medium wp-image-592\" srcset=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-15.44.10-300x288.png 300w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-15.44.10-768x736.png 768w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-15.44.10.png 964w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a>\r\n\r\n\r\n<p>Para solucionarlo hay que cambiar un par de templates y a\u00f1adir unas funciones a la clase producto.<\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph -->\r\n<p>en Product.php<\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n\r\n<pre>public static function getProducImage($id_product_attribute,$id_product) { if (isset($id_product_attribute) &amp;&amp; $id_product_attribute) { $id_image = Db::getInstance()->getValue(' SELECT `image_shop`.id_image FROM `'._DB_PREFIX_.'product_attribute_image` pai'. Shop::addSqlAssociation('image', 'pai', true).' LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_image` = pai.`id_image`) WHERE id_product_attribute = '.(int)$id_product_attribute. ' ORDER by i.position ASC'); } if (!isset($id_image) || !$id_image) { $id_image = Db::getInstance()->getValue(' SELECT `image_shop`.id_image FROM `'._DB_PREFIX_.'image` i'. Shop::addSqlAssociation('image', 'i', true, 'image_shop.cover=1').' WHERE i.id_product = '.(int)$id_product ); } return $id_image; } public static function getProducImageUrl($id_product_attribute,$id_product) { if (isset($id_product_attribute) &amp;&amp; $id_product_attribute) { $id_image = Db::getInstance()->getValue(' SELECT `image_shop`.id_image FROM `'._DB_PREFIX_.'product_attribute_image` pai'. Shop::addSqlAssociation('image', 'pai', true).' LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_image` = pai.`id_image`) WHERE id_product_attribute = '.(int)$id_product_attribute. ' ORDER by i.position ASC'); } if ($id_image!=\"\"){ $aux=str_split($id_image); $salida=\"img\/p\/\"; foreach($aux as $n){ $salida.=$n.\"\/\"; } $salida.=$id_image.\".jpg\"; return $salida; }else{ return \"\"; } }<\/pre>\r\n\r\n\r\n\r\n<p>en templated\/checkout\/_partials\/cart-detailed-product-line.tpl<\/p>\r\n\r\n\r\n\r\n<pre>\r\n {assign var='attributoimageid' value=Product::getProducImage($product.id_product_attribute,$product->id)}\r\n     {assign var='attributoimage' value=Product::getProducImageUrl($product.id_product_attribute,$product->id)}\r\n      {if $attributoimage}\r\n       \r\n       \r\n        \r\n         \r\n          &lt;img src=\"{$attributoimage}\" data-full-size-image-url=\"{$product.cover.large.url}\" \/>\r\n      {else}\r\n          {if $product.cover}\r\n              &lt;img src=\"{$product.cover.bySize.cart_default.url}\" alt=\"{$product.name|escape:'quotes'}\">\r\n            {else}\r\n            &lt;img src=\"{$urls.no_picture_image.bySize.cart_default.url}\" \/>\r\n          {\/if}\r\n      {\/if}\r\n<\/pre>\r\n\r\n\r\n\r\n<p>En modules\/ps_shoppingcart\/ps_shoppingcart.tpl<\/p>\r\n<pre>\r\n{assign var='attributoimageid' value=Product::getProducImage($product.id_product_attribute,$product->id)}\r\n                          {assign var='attributoimage' value=Product::getProducImageUrl($product.id_product_attribute,$product->id)}\r\n                            {if $attributoimage}\r\n                            \r\n                                &lt;img src=\"{$attributoimage}\" style=\"max-width:90px\" data-full-size-image-url=\"{$product.cover.large.url}\" \/>\r\n                            {else}\r\n                                {if $product.cover}\r\n                                    &lt;img src=\"{$product.cover.bySize.cart_default.url}\" alt=\"{$product.name|escape:'quotes'}\">\r\n                                  {else}\r\n                                  &lt;img src=\"{$urls.no_picture_image.bySize.cart_default.url}\" \/>\r\n                                {\/if}\r\n                            {\/if}\r\n<\/pre>\r\n\r\n<!-- wp:image {\"id\":584,\"width\":416,\"height\":424,\"sizeSlug\":\"full\",\"linkDestination\":\"media\"} -->\r\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.43.26.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.43.26.png\" alt=\"\" class=\"wp-image-584\" width=\"416\" height=\"424\" srcset=\"https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.43.26.png 874w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.43.26-294x300.png 294w, https:\/\/www.josejavierfm.es\/blog\/wp-content\/uploads\/2022\/05\/blog-mostrar-imagen-de-combinacion-en-carrito-de-la-tienda-en-prestashop-captura-de-pantalla-2022-05-19-a-las-13.43.26-768x784.png 768w\" sizes=\"(max-width: 416px) 100vw, 416px\" \/><\/a><\/figure>\r\n<!-- \/wp:image -->\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=josejavierfm\" class=\"twitter-share-button\">Twittear<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Si tenemos una tienda con combinacion de productos, cada uno de ellos puede tener asociada una o mas imagenes si elegimos una en concreto con combinacion, al a\u00f1adir al carrito muestra la foto del producto por defecto Para solucionarlo hay que cambiar un par de templates y a\u00f1adir unas funciones a la clase producto. en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[27],"tags":[],"_links":{"self":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts\/582"}],"collection":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/comments?post=582"}],"version-history":[{"count":6,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts\/582\/revisions"}],"predecessor-version":[{"id":593,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/posts\/582\/revisions\/593"}],"wp:attachment":[{"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/media?parent=582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/categories?post=582"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.josejavierfm.es\/blog\/wp-json\/wp\/v2\/tags?post=582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}