Jump to content

[Solucionado] Incrementar porcentaje a atributo version 1.5


kitchendraw

Recommended Posts

Hola a todos:

Después de buscar en los foros no he encontrado ninguna solución a mi problema en Prestashop 1.5. A ver si hay alguien que me pueda ayudar.

 

Tengo un producto con una serie de combinaciones... medida, color... Lo que quiero es aumentar un porcentaje a un atributo (color).

 

Es decir,

Medida 1 - color 1: No incrementa

Medida 1 - color 2: Incrementa 10%(por ejemplo)

 

Puedo aumentar por valor (Incrementar 10€) pero no por porcentaje.

 

Alguien puede ofrecer alguna solución.

Gracias de antemano.

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

Partiendo de la base de otras soluciones en post anteriores para versiones anteriores a la 1.5 he conseguido aplicar el incremento por porcentaje a un atributo.

La idea es introducir un incremento para el atributo de entre 0 y 1. Esto lo hago en el generador de combinaciones del producto. Sólo funciona allí.

 

He modificado en el archivo "controllers\admin\AdminAttributeGeneratorController.php" la función "addAttribute" quedando así:

 

 protected function addAttribute($attributes, $price = 0, $weight = 0)
{
 foreach ($attributes as $attribute)
 {
  $miprecio = (float)preg_replace('/[^0-9.]/', '', str_replace(',', '.', Tools::getValue('price_impact_'.(int)$attribute)));
  if (($miprecio <= 1) && ($miprecio > 0))
  {
$price = (($price * $miprecio) + $price);
  }
  else
  {
$price += $miprecio;
  }
  $weight += (float)preg_replace('/[^0-9.]/', '', str_replace(',', '.', Tools::getValue('weight_impact'.(int)$attribute)));
 }
 if ($this->product->id)
 {
  return array(
'id_product' => (int)$this->product->id,
'price' => (float)$price,
'weight' => (float)$weight,
'ecotax' => 0,
'quantity' => (int)Tools::getValue('quantity'),
'reference' => pSQL($_POST['reference']),
'default_on' => 0,
'available_date' => '0000-00-00'
  );
 }
 return array();
}

 

Con esto sólo puedo modificar los precios en la generación de combinaciones con lo que las cantidades me las vuelve a resetear.

Me gustaría hacerlo para una combinación en particular y las demás dejarlas como estaban. Con las cantidades que tengan en ese momento.

Todo esto partiendo que el precio base es 0. Y que el precio del producto lo marca la combinación.

 

¿Alguien sabría decirme por dónde debo seguir?¿Qué más archivos debo modificar?

 

Gracias

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

Guest
This topic is now closed to further replies.
×
×
  • Create New...