Jhony Ranger Posted December 2, 2013 Share Posted December 2, 2013 (edited) Buenos días forer@s. Llevo semanas deseando tener un incremento en porcentaje entre los atributos y dados los dilemas que hay en las "soluciones" que he investigado... existirán futuros problemas el día que se actualice a nuevas versiones del PS. Así que intentaré tocar lo mínimo posible el núcleo. Gracias a este truco, rescatado del usuario "kitchendraw" desde el generador de combinaciones se puede añadir un porcentaje sobre el precio base utilizando valores de 0.01 a 0.99. El problema llega cuando uno de los atributos no lleva precio (el primero normalmente), y por ello, termina quedando el precio de esas combinaciones a 0. Alguien pudiera darme algún ejemplo de cómo añadir el precio base a esta fórmula sólo cuando uno de los atributos esté a 0 ??? Muchas gracias de antemano. Archivo: /controllers/admin/AdminAttributeGeneratorController.php (Prestashop 1.5.6.X) { $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))); } Edited December 2, 2013 by Guille85 (see edit history) Link to comment Share on other sites More sharing options...
PacoSanchez Posted April 9, 2014 Share Posted April 9, 2014 Muy buenas Guille, es mi primer post asi que a ver si tenemos suerte. Estoy en la misma problemática que tu y espero que nos sirva a los dos. prueba esto y me dices. Si te va bien te preguntare si has hecho funcionar el resto de solucion de kitchendraw *--------------------------------------------------------------------------- { $miprecio = (float)preg_replace('/[^0-9.]/', '', str_replace(',', '.', Tools::getValue('price_impact_'.(int)$attribute))); if (($miprecio <= 1) && ($miprecio > 0)) { if ($miprecio == 0) { $price += $miprecio; } else { $price = (($price * $miprecio) + $price); } } else { $price += $miprecio; } $weight += (float)preg_replace('/[^0-9.]/', '', str_replace(',', '.', Tools::getValue('weight_impact'.(int)$attribute))); } Link to comment Share on other sites More sharing options...
PacoSanchez Posted April 9, 2014 Share Posted April 9, 2014 ummm.... dejalo ni caso.. creo que no va a funcionar..lo siento.. Link to comment Share on other sites More sharing options...
Jhony Ranger Posted April 9, 2014 Author Share Posted April 9, 2014 (edited) ummm.... dejalo ni caso.. creo que no va a funcionar..lo siento.. A mi si me funciona, lo que hay que hacer es no meterle un precio de base. Vamos,... que sea 0, y solo jugar con los precios en el generador de combinaciones. Es la única solución. En realidad se podría conseguir metiéndote mucho mas de lleno y con conocimientos matemáticos y de programación. Pero NO quiero tocar el core, ya que a la hora de actualizar el prestashop,... podría ser peor que intentar resolver este sudoku: Saludos! Edited April 9, 2014 by GuilleFX (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts