oharryo Posted September 12, 2020 Share Posted September 12, 2020 (edited) Saludos con todos, Estoy intentando editar el módulo ps_wirepayment, lo que busco es que si el cliente escoge esa opción deba subir un archivo PNG, JPG o PDF de forma obligatoria y este archivo se adjunte como un link al momento de enviar la orden de compra, para lo cual estoy haciendo lo siguiente: 1.- Edite el archivo modules\ps_wirepayment\views\templates\hook\ps_wirepayment_intro.tpl Dentro de ese archivo añadí los siguientes tags HTML <h6>Adjunta tu comprobante de pago</h6> <input type="file" name="fileUpload" accept="image/png, image/jpeg"/> 2.- Posterior a eso revisé el código del modulo modules\ps_wirepayment\ps_wirepayment.php public function hookPaymentOptions($params) { if (!$this->active) { return []; } if (!$this->checkCurrency($params['cart'])) { return []; } $this->smarty->assign( $this->getTemplateVarInfos() ); $newOption = new PaymentOption(); $newOption->setModuleName($this->name) ->setCallToActionText($this->trans('Pay by bank wire', [], 'Modules.Wirepayment.Shop')) ->setAction($this->context->link->getModuleLink($this->name, 'validation', [], true)) ->setAdditionalInformation($this->fetch('module:ps_wirepayment/views/templates/hook/ps_wirepayment_intro.tpl')) ; return [ $newOption, ]; } Comprendo que la acción de ese template la está realizando el archivo modules\ps_wirepayment\validation.php , (Favor me corrigen si estoy equivocado) 3.- Para comprender las acciones que va realizando el código inserté 2 registros en la tabla ps_configuration INSERT INTO ps_configuration (`id_configuration`, `id_shop_group`, `id_shop`, `name`, `value`, `date_add`, `date_upd`) VALUES ( CONVERT((select MAX(pc.`id_configuration`)+1 as c FROM ps_configuration pc), SIGNED),'','','HA_TRAK1','',curdate(),curdate()); ----------------------------------------------------------------------------------------- INSERT INTO ps_configuration (`id_configuration`, `id_shop_group`, `id_shop`, `name`, `value`, `date_add`, `date_upd`) VALUES ( CONVERT((select MAX(pc.`id_configuration`)+1 as c FROM ps_configuration pc), SIGNED),'','','HA_TRAK2','',curdate(),curdate()); 4.- Lo que hice es intentar actualizar esos registros desde las primeras líneas de modules\ps_wirepayment\validation.php pero no funcionó 😢 , también añadí la misma línea al momento de renderizar el formulario pero tampoco funcionó no comprendo que estoy haciendo mal. /* modules\ps_wirepayment\validation.php */ Configuration::updateValue('HA_TRAK1', 's1'); $_FILES = Tools::fileAttachment('fileUpload'); if (isset($_FILES) && !empty($_FILES['joinFile']['name'])) { Configuration::updateValue('HA_TRAK2', 's2'); } /* modules\ps_wirepayment\ps_wirepayment.php */ public function renderForm() { Configuration::updateValue('HA_TRAK1', 'renderForm'); ... ... Por favor si me podrían dar una mano se los agradecería mucho. @Pixefora D @shacker @luishuaymana Edited September 12, 2020 by oharryo (see edit history) Link to comment Share on other sites More sharing options...
Pixefora D Posted September 14, 2020 Share Posted September 14, 2020 Pon el código de valdiation.php tal y como lo tienes y estás haciendo esas pruebas. Link to comment Share on other sites More sharing options...
oharryo Posted September 14, 2020 Author Share Posted September 14, 2020 Si amigo gracias por tu respuesta, ya comprendí los errores que tenía al momento ya funciona lo que edité, espero poder esto convertirlo en modulo para compartirlo con la comunidad, solamente tengo un inconveniente que de momento solucioné con Jquery sin embargo quiero comprender ¿cómo puedo parar el método postProcess?, ya que ahí tengo una validación en caso de que no envíen el archivo debería presentar un mensaje de error, para ese caso quise usar Notifications sin embargo no pude porque cuando lo implementé se hacían muchisimas peticiones es como si hubiera sido un loop de consultas al postProcess, sabía que si funcionaba porque cuando refrescaba la página aparecía la notificación. Link to comment Share on other sites More sharing options...
Pixefora D Posted September 15, 2020 Share Posted September 15, 2020 No se muy bien como lo has hecho, pero si queires pararlo puedes hacer una redirección o un die(); 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