Jump to content

No puedo cambiar la imagen del producto que se ve en los pedidos. SOLUCIONADO.


Insigpol

Recommended Posts

A ver si podéis ayudarme.

Creo un producto en mi prestashop 1.7.6.2 . Le pongo varias imagenes. Hasta ahí bien. Más adelante quiero mantener ese producto llamando igual pero cambiando las imagenes. Las quito todas y pongo las nuevas. Todo se ve bien, hasta que me entra un pedido y la imagen que se ve en el pedido de ese producto es la imagen antigua de portada. No hay manera de quitarla.

¿Polstersgeits?

Alguien tiene idea de como arreglarlo.

 

Edited by Insigpol
SOLUCIONADO (see edit history)
Link to comment
Share on other sites

Esto es por tema de caché, lo arreglé en una ocasión en ps1.6

En 1.6 para ello edité la view.tpl de order quitando la ruta de caché y forzando que coja la ruta real

No puedo mirar ahora la línea exacta. Pruébalo y sino lo consigues coméntame y en cuanto pueda te digo la línea.

Link to comment
Share on other sites

Disculpa, te dije mal.

Vete a AdminOrdersController.php (haz override) y en el método getProducts, donde:

$product['image_tag'] = ImageManager::thumbnail(_PS_IMG_DIR_.'p/'.$product['image']->getExistingImgPath().'.jpg', $name, 45, 'jpg');

cámbialo por esto:

$image = Image::getCover($product['product_id']);
$pr = new Product($product['product_id']);
$link = new Link;
$imagePath = $link->getImageLink($pr->link_rewrite[Context::getContext()->language->id], $image['id_image'], 'small_default');
$product['image_tag'] = "<img src='https://".$imagePath."' />";

 

Lo he adaptado a 1.7 sobre la marcha, pero creo que está bien.

Edited by Pixefora D (see edit history)
Link to comment
Share on other sites

No es complicado, vete a:

controllers/admin/AdminOrdersController.php y haz una copia de seguridad en tu ordenador. Asi, si algo va mal vuelves a subir el archivo original y santaspascuas.

 

Vete a la linea 2799 (aprox), donde veas esto:

    protected function getProducts($order)
    {
        $products = $order->getProducts();

        foreach ($products as &$product) {
            if ($product['image'] != null) {
                $name = 'product_mini_'.(int)$product['product_id'].(isset($product['product_attribute_id']) ? '_'.(int)$product['product_attribute_id'] : '').'.jpg';
                // generate image cache, only for back office
                $product['image_tag'] = ImageManager::thumbnail(_PS_IMG_DIR_.'p/'.$product['image']->getExistingImgPath().'.jpg', $name, 45, 'jpg');
                if (file_exists(_PS_TMP_IMG_DIR_.$name)) {
                    $product['image_size'] = getimagesize(_PS_TMP_IMG_DIR_.$name);
                } else {
                    $product['image_size'] = false;
                }
            }
        }

        ksort($products);

        return $products;
    }

 

Y cambialo por esto:


    protected function getProducts($order)
    {
        $products = $order->getProducts();

        foreach ($products as &$product) {
            if ($product['image'] != null) {
                $name = 'product_mini_'.(int)$product['product_id'].(isset($product['product_attribute_id']) ? '_'.(int)$product['product_attribute_id'] : '').'.jpg';
                // generate image cache, only for back office
              $image = Image::getCover($product['product_id']);
              $pr = new Product($product['product_id']);
              $link = new Link;
              $imagePath = $link->getImageLink($pr->link_rewrite[Context::getContext()->language->id], $image['id_image'], 'small_default');
              $product['image_tag'] = "<img src='https://".$imagePath."' />";
                if (file_exists(_PS_TMP_IMG_DIR_.$name)) {
                    $product['image_size'] = getimagesize(_PS_TMP_IMG_DIR_.$name);
                } else {
                    $product['image_size'] = false;
                }
            }
        }

        ksort($products);

        return $products;
    }

 

  • Like 1
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...