Gerardo Martinez G Posted January 26, 2019 Share Posted January 26, 2019 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 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