Jump to content

SOLUCIONADO!Cambiar orden en métodos de pago


Pack_12

Recommended Posts

Hola, tienda en prestashop 1752 + plantilla warehouse

estoy teniendo problemas porque hay clientes que se equivocan y sin querer seleccionan "transferencia bancaria"  en el método de pago.

Estoy tratando de averiguar como cambiar el orden de las opciones, incluso el texto de la opción de pago. ¿Alguien puede indicarme si eso puedo cambiarlo en algún módulo? En Pago --> Métodos de Pago no me aparece la opción de ordenar los métodos de pago, ni la posibilidad de modificar esos textos que aparecen.

Agradezco ayuda de antemano.

image.png.4d2699236e8b3eeb6bcdb5a6ccffc104.png

Edited by Pack_12 (see edit history)
Link to comment
Share on other sites

1 hour ago, ventura said:

En


Backoffice ->  Diseño / Posiciones

Marca la opcion


Mostrar los hooks invisibles

Busca el hook


paymentOptions

Y define las posiciones de los distintos módulos

Muchas gracias @ventura!! Muy útil

Lo más importante ya está, el orden.

Ahora bien, me gustaría retocar los mensajes de esas opciones, incluso poner algún icono, el que lleva paypal ni me gusta. ¿Donde puedo hacerlo? He mirado en traducciones de temas y en ninguno me salen esos mensajes. Tampoco he visto en las opciones de los módulos de paypal ni de redsys.

Me refiero a esto:

 

imagen.png.c4a2abfd35cae7da784806341904c9ba.png

 

Gracias!

 

 

imagen.png

Link to comment
Share on other sites

Cada modulo de pago que aparece en su archivo principal .php tiene un código en el que renderiza las variables que aparecen en ese hook, texto que seria configurable desde traducciones y/o imágenes. Por ejemplo en el módulo de Paypal:

modules/paypal/paypal.php

y el contenido que aparece en la parte de Métodos de pago durante el proceso de pago seria la incluida en :

 public function hookPaymentOptions($params)

 

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 months later...

Hola de nuevo,

Retomando este hilo que me has recordado @ventura, no tengo claro que debo de eliminar del código de hookpaymentoptions. Me podéis ayudar please? Finalmente me decanto por no poner imágenes. No quiero llenar los apartados de imágenes y creo que sencillo da más seguridad.

Pego code:

 public function hookPaymentOptions($params)
    {
        if (Module::isEnabled('braintreeofficial') && (int)Configuration::get('BRAINTREEOFFICIAL_ACTIVATE_PAYPAL')) {
            return array();
        }
        $isoCountryDefault = Country::getIsoById(Configuration::get('PS_COUNTRY_DEFAULT'));

        $payments_options = array();
        $method = AbstractMethodPaypal::load();
        switch ($this->paypal_method) {
            case 'EC':
                if ($method->isConfigured()) {
                    $paymentOptionsEc = $this->renderEcPaymentOptions($params);
                    $payments_options = array_merge($payments_options, $paymentOptionsEc);

                    if (Configuration::get('PAYPAL_API_CARD') && (in_array($isoCountryDefault, $this->countriesApiCartUnavailable) == false)) {
                        $payment_option = new PaymentOption();
                        $action_text = $this->l('Pay with debit or credit card');
                        $payment_option->setLogo(Media::getMediaPath(_PS_MODULE_DIR_ . $this->name . '/views/img/logo_card.png'));
                        $payment_option->setCallToActionText($action_text);
                        $payment_option->setModuleName($this->name);
                        $payment_option->setAction($this->context->link->getModuleLink($this->name, 'ecInit', array('credit_card' => '1'), true));
                        $payment_option->setAdditionalInformation($this->context->smarty->fetch('module:paypal/views/templates/front/payment_infos_card.tpl'));
                        $payments_options[] = $payment_option;
                    }
                }
                break;
            case 'PPP':
                if ($method->isConfigured()) {
                    $payment_option = new PaymentOption();
                    $action_text = $this->l('Pay with PayPal Plus');
                    if (Configuration::get('PAYPAL_API_ADVANTAGES')) {
                        $action_text .= ' | ' . $this->l('It\'s simple, fast and secure');
                    }
                    $payment_option->setCallToActionText($action_text);
                    $payment_option->setModuleName('paypal_plus');
                    try {
                        $this->context->smarty->assign('path', $this->_path);
                        $payment_option->setAdditionalInformation($this->context->smarty->fetch('module:paypal/views/templates/front/payment_ppp.tpl'));
                    } catch (Exception $e) {
                        die($e);
                    }
                    $payments_options[] = $payment_option;
                    if ((Configuration::get('PAYPAL_EXPRESS_CHECKOUT_SHORTCUT') || Configuration::get('PAYPAL_EXPRESS_CHECKOUT_SHORTCUT_CART')) && isset($this->context->cookie->paypal_pSc)) {
                        $payment_option = new PaymentOption();
                        $action_text = $this->l('Pay with paypal plus shortcut');
                        $payment_option->setCallToActionText($action_text);
                        $payment_option->setModuleName('paypal_plus_schortcut');
                        $payment_option->setAction($this->context->link->getModuleLink($this->name, 'pppValidation', array('short_cut' => '1'), true));
                        $payments_options[] = $payment_option;
                    }
                }

                break;
            case 'MB':
                if ($method->isConfigured() && in_array($this->context->currency->iso_code, $this->currencyMB)) {
                    if ((int)Configuration::get('PAYPAL_MB_EC_ENABLED')) {
                        $paymentOptionsEc = $this->renderEcPaymentOptions($params);
                        $payments_options = array_merge($payments_options, $paymentOptionsEc);
                    }

                    if ((int)Configuration::get('PAYPAL_API_CARD')) {
                        $payment_option = new PaymentOption();
                        $action_text = $this->l('Pay with credit or debit card');
                        $payment_option->setCallToActionText($action_text);
                        $payment_option->setModuleName('paypal_plus_mb');
                        try {
                            $this->context->smarty->assign('path', $this->_path);
                            $payment_option->setAdditionalInformation($this->context->smarty->fetch('module:paypal/views/templates/front/payment_mb.tpl'));
                        } catch (Exception $e) {
                            return;
                        }
                        $payments_options[] = $payment_option;
                    }
                }

                break;
        }

        return $payments_options;
    }

GRACIAS de antemano!!

Edited by Pack_12 (see edit history)
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...