Jump to content

Editando ps_wirepayment


oharryo

Recommended Posts

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 by oharryo (see edit history)
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...