Jump to content

Cómo crear un producto con varios precios?


Recommended Posts

Hola estoy interesado en desarrollar en Prestashop, mi pregunta es quiero añadir a lo bestia un CSV con un montón de productos, ya me funciona el código de añadir productos, pero no sé cómo añadirle los precios, ya que según la cantidad que compren tendrá un determinado precio, por ejemplo:

1-10 20€

10-30 19€

30-50 18,50€

El código para programar esto he usado la siguiente función:

unction precioEspecial($to, $from, $product, $primero, $segundo, $anterior){
    $dividir=$primero;
    $unidadesVenta=$segundo;

    $precio1=($dividir/100)/$unidadesVenta;
    /*
    $unidadesVenta=$d[9]//segundo;
                    $dividir=$d[8]//primero;
    */
    
    $discountPrice=$precioInicial/($precio1*100);
        /*
    $specificPrice = new SpecificPrice();
    $specificPrice->id_product =(int) $product->$id;
    $specificPrice->id_shop = 1;
    $specificPrice->id_currency = 1;
    $specificPrice->id_country=Tools::getValue('sp_id_country');
    $specificPrice->id_group = 1;
    $specificPrice->id_customer = 1;*/
        $specific_price = new SpecificPrice();
         $specific_price->from_quantity = $from;
         $specific_price->reduction = $precio1;
         $specific_price->reduction_type = 'amount';
         $specific_price->add();
    $specificPrice->add();
    
    $specific_price = new SpecificPrice();
    $specific_price->id_shop = 0;
         $specific_price->id_shop_group = 0;
         $specific_price->id_currency = 0;
         $specific_price->id_country = Tools::getValue('sp_id_country');
         $specific_price->id_group = 0;
         $specific_price->id_customer = $order->id_customer;
         $specific_price->id_product = $product->id;
         if (isset($combination)) {
             $specific_price->id_product_attribute = $combination->id;
         } else {
             $specific_price->id_product_attribute = 0;
         }
         $specific_price->price = $product_informations['product_price_tax_excl'];
         $specific_price->from_quantity = 1;
         $specific_price->reduction = 0;
         $specific_price->reduction_type = 'amount';
    
    
    
    
    //$addedPriceId = $specificPrice->id;
    $anterior=$primero;
    return $anterior;
}

He usado SpecificPrice, todo esto debo de decir que está hecho en un Script.php hecho "a mano" en el directorio raíz de prestashop añadiéndole las librerías de desarrollo :

include 'config/config.inc.php';
                    include 'init.php';

 

¿En qué puede fallar mi código? 

Gracias de antemano

 

Link to comment
Share on other sites

Hola 

 

Mirando por encima te comento 2 cosas

esta es la cantidad a partir que el descuento aplica si le pones a todo 1 no estas haciendo nada

$specific_price->from_quantity = 1;

otra 

$specificPrice->id_customer = 1;

aqui solo aplica para el cliente con codigo 1

 

 

 

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