nuwanda2k8 Posted April 4 Share Posted April 4 Buenas tardes Soy desarrollador de software de gestión y tengo un programa que actualiza la base de datos de prestashop vía webservice el problema lo tengo con un cliente nuevo que lo estamos integrando con un prestashop que ya tenía, el problema viene que tiene definidas reglas de precio del catálogo en concreto por marcas y por ejemplo cuando le cambias la marca a un producto desde la parte administrativa del prestashop (como ellos lo hacían antes) hay un proceso que valida si la marca que se le ha puesto al producto cumple alguna de las reglas de precios y crea los correspondientes precios específicos para ese producto aplicando los descuentos, cuando la modificación del producto se hace por el webservice esos procesos no se desencadenan y no se crean los descuentos, esto implica que tendría que hacer un proceso que borrara todos los precios específicos que tenga el producto, descargar las reglas, validar si cumple alguna condición y volver a crear los precios específicos Se me está pasando algo por alto que no hago desde el webservice, algo que tenga que actualizar aparte del producto y no actualizo? En caso de que el webservice no lo haga se podría añadir un nuevo recurso o algo que lo haga? aunque no estoy familiarizado con prestashop a nivel de programación Agradezco cualquier tipo de ayuda Gracias y un saludo Link to comment Share on other sites More sharing options...
ventura Posted April 7 Share Posted April 7 Puede depender de las necesidades concretas . Puedes añadir un nuevo metodo desde un modulo https://devdocs.prestashop-project.org/8/modules/concepts/webservice/ O puedes hacer un override de la funcion updateWs en /classes/Product.php ahi compararías si se aplica un cambio en la marca/ manufacturer y se le pueden aplicar los descuentos correspondientes a las reglas de catalogo con SpecificPriceRule::applyAllRules Otra opción, quizas la más transversal sería hacer override de la funcion saveEntityFromXml en classes/webservice/WebserviceRequest.php para añadir la ejecucion del hook actionProductUpdate Link to comment Share on other sites More sharing options...
nuwanda2k8 Posted April 8 Author Share Posted April 8 He optado por hacer el override de la función updateWs en el archivo /classes/Product.php y ha funcionado , al actualizar solo la marca vía webservice se recalculan todos los precios específicos del producto Muchísimas gracias Un saludo 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