Jump to content

Conbinaciones Disponibles "Permitir ventas de productos que están fuera de stock" sobre id_product_attribute


Recommended Posts

Buen dia foro, ocupó asesoría, La idea es que 1 producto con combinaciones, Las combinaciones son sencillas de 1 nivel, solo de color

los productos que usamos son por Temporadas

pongo un ejemplo: 1 Producto, tres colores diferentes.

Combinacion 1: con stock de 99, Lógico si está a la venta
Combinación 2: que tomé valor de "Permitir ventas de productos que están fuera de stock", está en Desactivado, NO QUIERO VENDERLO, PERO SI QUE ME DEJEN CORREO PARA CUANDO ESTÉ DISPONIBLE
COmbinación 3: Que tomé valor de 1: Y así si permita "Permitir ventas de productos que están fuera de stock", como es de esta temporada y así lo puedo comprar inmediatamente a distribuidor


lo que he encontrado es en esta tabla ps_stock_available, columna out_of_stock

-Cuando ago todos los cambios en back-offce, cambia en General todos los valores alas combinaciones
-Si lo hago manualmente el cambio en la base de datos con phpmyadmin y no lo respeta por que toma el valor del producto padre (id_product_attribute) que es 0 y asi toma el valor de (out_of_stock) pero del producto padre

Ayuda para que ahora tome el valor de (id_product_attribute) de la correcta combinación.

lo que mas he encontrado es aqui /prestashoproot/classes/stock/StockAvailable.php

 

    /**
     * For a given id_product, sets if product is available out of stocks.
     *
     * @param int $id_product
     * @param int $out_of_stock Optional false by default
     * @param int $id_shop Optional gets context by default
     */
    public static function setProductOutOfStock($id_product, $out_of_stock = false, $id_shop = null, $id_product_attribute = 0)
    {
        if (!Validate::isUnsignedId($id_product)) {
            return false;
        }

        $existing_id = (int) StockAvailable::getStockAvailableIdByProductId((int) $id_product, (int) $id_product_attribute, $id_shop);

        if ($existing_id > 0) {
            Db::getInstance()->update(
                'stock_available',
                array('out_of_stock' => (int) $out_of_stock),
                'id_product = ' . (int) $id_product .
                (($id_product_attribute) ? ' AND id_product_attribute = ' . (int) $id_product_attribute : '') .
                StockAvailable::addSqlShopRestriction(null, $id_shop)
            );
        } else {
            $params = array(
                'out_of_stock' => (int) $out_of_stock,
                'id_product' => (int) $id_product,
                'id_product_attribute' => (int) $id_product_attribute,
            );

            StockAvailable::addSqlShopParams($params, $id_shop);
            Db::getInstance()->insert('stock_available', $params, false, true, Db::ON_DUPLICATE_KEY);
        }
    }

 

Muchas Gracias por su Ayuda

01.thumb.jpg.a38ebd7da5874b87a76deec5d5e939b4.jpg

 

02.thumb.jpg.92a80bfaf7c8d94a2a73eff53005184c.jpg

 

 

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...