o1dskoo1 Posted August 8, 2012 Share Posted August 8, 2012 (edited) Hola, Estoy tratando de crear un sencillo módulo donde añadir al usuario a un nuevo grupo cuando éste crea un pedido, pero en el momento que escojo el método de pago (para pruebas tengo puesto tanto el cheque como la transferencia bancaria) y completo el pedido, la columna central aparece vacía y no muestra el mensaje indicando que el pedido se ha completado. Tampoco el código de la función 'hookNewOrder' funciona y eso que cuando imprimo por pantalla la variable '$row' los datos son los correctos. Soy nuevo desarrollando en Prestashop y posiblemente sea alguna tontería que he dejado pasar por alto, así que si alguien pudiese echarme una mano le estaría muy agradecido. Un saludo. <?php if (!defined('_PS_VERSION_')) exit; class Changegroup extends Module { public function __construct() { $this->name = 'changegroup'; $this->tab = 'Test'; $this->version = 1.0; $this->author = 'o1dskoo1'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l( 'Change Group' ); $this->description = $this->l( 'Change customer\'s group.' ); } public function install() { if ( parent::install() == false ) return false; return true; } public function uninstall() { if ( parent::uninstall() == false ) return false; return true; } public function hookNewOrder($params) { $groups = array(2); foreach ($groups as $group) { $row = array('id_customer' => (int)$params['customer']->id, 'id_group' => (int)$group); Db::getInstance()->insert('customer_group', $row); } return true; } } ?> Edited August 9, 2012 by o1dskoo1 (see edit history) Link to comment Share on other sites More sharing options...
o1dskoo1 Posted August 9, 2012 Author Share Posted August 9, 2012 Hola, Al final funcionó. Por si a alguien más le ocurre algo parecido, el fallo pasaba por el contenido del foreach, ya que no reconocía el método 'insert'. Haciendo el siguiente cambio funcionó correctamente: foreach ($groups as $group) { Db::getInstance()->Execute('INSERT INTO `'._DB_PREFIX_.'customer_group` (`id_customer`, `id_group`) VALUES('.$params['customer']->id.', '.$group.')'); } Link to comment Share on other sites More sharing options...
nadie Posted August 9, 2012 Share Posted August 9, 2012 Hola, Al final funcionó. Por si a alguien más le ocurre algo parecido, el fallo pasaba por el contenido del foreach, ya que no reconocía el método 'insert'. Haciendo el siguiente cambio funcionó correctamente: foreach ($groups as $group) { Db::getInstance()->Execute('INSERT INTO `'._DB_PREFIX_.'customer_group` (`id_customer`, `id_group`) VALUES('.$params['customer']->id.', '.$group.')'); } Si has solucionado el tema, edita el titulo del tema, editando el primer mensaje y pulsando en "Usar editor completo"; añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro. Un saludo Link to comment Share on other sites More sharing options...
o1dskoo1 Posted August 9, 2012 Author Share Posted August 9, 2012 Si has solucionado el tema, edita el titulo del tema, editando el primer mensaje y pulsando en "Usar editor completo"; añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro. Un saludo ¡Modificado! Link to comment Share on other sites More sharing options...
nadie Posted August 11, 2012 Share Posted August 11, 2012 ¡Modificado! Gracias por colaborar con la comunidad! Por cierto, si puedes publicar el aporte, en esta sección: http://www.prestashop.com/forums/index.php?/forum/101-peticion-de-ofertas-y-prestaciones/ sera de gran ayuda para la comunidad. Un saludo Link to comment Share on other sites More sharing options...
Recommended Posts