guh9090 Posted January 9, 2018 Share Posted January 9, 2018 Hola comunidad, ¿Cómo puedo agregar una imagen al modulo de pago por transferencia bancaria cuando el cliente selecciona el método de pago? Justo como en el modulo de Paypal Se los agradezco, saludos!! Link to comment Share on other sites More sharing options...
juan.diegomdc Posted January 17, 2018 Share Posted January 17, 2018 (edited) Hola, Esa necesidad no la habia tenido y cachareeando un poco en el codigo del modulo de Paypal entendí como lo hace. primero lo que debes identificar es la imagen que quieres poner en el modulo y en las medidas que la necesitas, puedes usar como base la de paypal ya que probe con el logo del modulo y desajusta todo... Cuando tengas la imagen vas a la siguiente ruta (via FTP o filemanager segun sea el caso) $home/modules/ps_wirepayment/ y subes la imagen con un nombre que identifiques y sin reemplazar el logo del modulo. Lo siguiente es que modificas el archivo ps_wirepayment.php que se encuentra ahi en ese mismo folder y vas a la linea 198 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', array(), 'Modules.Wirepayment.Shop')) ->setAction($this->context->link->getModuleLink($this->name, 'validation', array(), true)) ->setAdditionalInformation($this->fetch('module:ps_wirepayment/views/templates/hook/ps_wirepayment_intro.tpl')); $payment_options = [ $newOption, ]; return $payment_options; } Y agregarias el siguiente texto, reemplazando logo.png por el nombre identificador de tu imagen ->setLogo(Media::getMediaPath(_PS_MODULE_DIR_.$this->name.'/logo.png')) Quedando de la siguiente manera: 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', array(), 'Modules.Wirepayment.Shop')) ->setAction($this->context->link->getModuleLink($this->name, 'validation', array(), true)) ->setLogo(Media::getMediaPath(_PS_MODULE_DIR_.$this->name.'/logo.png')) ->setAdditionalInformation($this->fetch('module:ps_wirepayment/views/templates/hook/ps_wirepayment_intro.tpl')); $payment_options = [ $newOption, ]; return $payment_options; } Si refrescas tu pagina de pagos ya deberia aparecer la imagen en el metodo de pago Edited January 17, 2018 by juan.diegomdc Falto cargar una imagen que faltaba (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted January 25, 2018 Share Posted January 25, 2018 (edited) Es como comenta el compañero @juan.diegomdc El año pasado (noviembre del año pasado (2017)) estuve comentado también este aspecto en un articulo: http://victor-rodenas.com/2017/11/21/creacion-de-un-modulo-de-pago-en-prestashop-1-7/ junto con otras novedades que incluyen los métodos de pago en Prestashop 1.7 respecto a Prestashop 1.6 PD: Añado que se me olvidaba comentar, recordar que es recomendable hacer override del fichero que ha comentado el compañero, ya que si se actualiza el modulo se perderán los cambios. Edited January 25, 2018 by nadie (see edit history) Link to comment Share on other sites More sharing options...
samura87 Posted March 6, 2018 Share Posted March 6, 2018 Buenas tardes, He comentado el código. Pero no carga ninguna imagen. Link to comment Share on other sites More sharing options...
juan.diegomdc Posted March 6, 2018 Share Posted March 6, 2018 Hola @samura87 comentaste el codigo en ese modulo, pero puedes mostrar la funcion donde lo hiciste por favor, la idea es que sea dentro de function hookPaymentOptions Algo que no logramos ver en tu captura de pantalla, Si puedes copiar el codigo de la funcion que modificaste te podemos ayudar de mejor manera. Saludos! Link to comment Share on other sites More sharing options...
samura87 Posted March 6, 2018 Share Posted March 6, 2018 Antes, gracias por la ayuda Juan y Nadie. public function hookPaymentOptions($params) { if (!$this->active) { return; } if (!$this->checkCurrency($params['cart'])) { return; } $blockme = false; $categories_search = array(); $limited_categories = explode(",", Configuration::get('PPAL_FEE_DISABLECAT')); $product_by_category = $params['cart']->getProducts(true); $ppal_fee_limit = Configuration::get('PPAL_FEE_LIMIT'); if($params['cart']->id_currency != Configuration::get('PS_CURRENCY_DEFAULT')){ $current_currency = new Currency($params['cart']->id_currency); $conversion_rate = $current_currency->conversion_rate; $ppal_fee_limit = round($ppal_fee_limit * $conversion_rate,6); } foreach ($product_by_category as $value) { $categories_search[] = $value['id_category_default']; foreach ($categories = $this->getCategoriesByProduct($value['id_product']) as $category) { $categories_search[] = $category['id_category']; } } foreach ($limited_categories as $value) { if (in_array($value, $categories_search)) { $blockme = true; break; } } if ($ppal_fee_limit >= 0 && !$blockme) { $total_compare = $this->context->cart->getOrderTotal(true); if ($total_compare <= $ppal_fee_limit || $ppal_fee_limit == 0) { $fee = $this->getFee($this->context->cart); $link = new Link(); $path_controller = Configuration::get('PS_SSL_ENABLED') == 0 ? $this->context->link->getModuleLink('paypalwithfee', 'payment') : $this->context->link->getModuleLink('paypalwithfee', 'payment', array(), true); $return_url = Configuration::get('PS_SSL_ENABLED') == 0 ? $this->context->link->getModuleLink('paypalwithfee', 'validation') : $this->context->link->getModuleLink('paypalwithfee', 'validation', array(), true); $cancel_url = Configuration::get('PS_SSL_ENABLED') == 0 ? $link->getPageLink('order') : $link->getPageLink('order', true); $this->context->smarty->assign(array( 'limitpay' => $ppal_fee_limit, 'returnURL' => $return_url, 'cancelURL' => $cancel_url, 'path_controller' => $path_controller, 'module_path' => $this->_path, 'fee_real' => $this->getFee($this->context->cart), 'fee' => Tools::displayPrice($this->getFee($this->context->cart)), 'total_amount' => Tools::displayPrice($total_compare + $this->getFee($this->context->cart)), )); $externalOption = new PaymentOption(); $externalOption->setCallToActionText($fee > 0 ? $this->l('Pay with Paypal').' +'.Tools::displayPrice($fee) : $this->l('Pay with Paypal'))//$this->trans('Pay with Paypal', array(), 'Modules.Paypalwithfee.Shop')) ->setAction($path_controller) ->setLogo(Media::getMediaPath(_PS_MODULE_DIR_.$this->name.'/paypal_sm.png')) ->setInputs([ 'cancelURL' => [ 'name' => 'cancelURL', 'type' => 'hidden', 'value' => $cancel_url, ], 'returnURL' => [ 'name' => 'returnURL', 'type' => 'hidden', 'value' => $return_url, ], ]) ->setAdditionalInformation($this->context->smarty->fetch('module:paypalwithfee/views/templates/front/payment_infos.tpl')) ->setLogo(Media::getMediaPath(_PS_MODULE_DIR_ . $this->name . 'views/img/paypal_logo.jpg')); return [$externalOption]; } } } public function hookActionValidateOrder($params) { Link to comment Share on other sites More sharing options...
juan.diegomdc Posted March 6, 2018 Share Posted March 6, 2018 Revisa bien porque puede ser algo de la configuracion o de la plantilla porque en la penultima linea ya estaba agregado que saliera el LOGO Quote ->setAdditionalInformation($this->context->smarty->fetch('module:paypalwithfee/views/templates/front/payment_infos.tpl')) ->setLogo(Media::getMediaPath(_PS_MODULE_DIR_ . $this->name . 'views/img/paypal_logo.jpg')); return [$externalOption]; Si compraste el modulo, checalo con los devs... porque no esta saliendo o si es que la plantilla no soporta las imagenes Link to comment Share on other sites More sharing options...
samura87 Posted March 7, 2018 Share Posted March 7, 2018 Gracias Juan, Volveré a comentarlo con ellos aunque me remiten a que compre un paquete de servicio técnico. Un saludo. Link to comment Share on other sites More sharing options...
ortopediamimas Posted May 10, 2018 Share Posted May 10, 2018 Hola A todos Para mi lo mejor es modificar cada modulo y diseñarlo en html y así lo ponemos como queramos y todo sigue una estética como el ejemplo que paso. Seguro que se podrá modificar cada modulo para que la imagen se cargue automáticamente pero ya no tengo tiempo para eso y lo hago en html Espero que a alguien le ayuda Saludos Link to comment Share on other sites More sharing options...
guh9090 Posted May 10, 2018 Author Share Posted May 10, 2018 hace 4 horas, ortopediamimas dijo: Hola A todos Para mi lo mejor es modificar cada modulo y diseñarlo en html y así lo ponemos como queramos y todo sigue una estética como el ejemplo que paso. Seguro que se podrá modificar cada modulo para que la imagen se cargue automáticamente pero ya no tengo tiempo para eso y lo hago en html Espero que a alguien le ayuda Saludos Está genial, ¿cómo lo hiciste? ¿Vendes tu modulo? Saludos! Link to comment Share on other sites More sharing options...
ortopediamimas Posted May 10, 2018 Share Posted May 10, 2018 Hola guh9090 Gracias por tu comentario, lamentablemente no es un modulo, ni lo vendemos es diseño en html simple Saludos Link to comment Share on other sites More sharing options...
Aldeag Posted May 3, 2020 Share Posted May 3, 2020 Que maravilla y que interesante. Si es tan simple ¿Sería posible que lo compartieras? Tengo nulos conocimientos de html. Link to comment Share on other sites More sharing options...
Aldeag Posted May 3, 2020 Share Posted May 3, 2020 En 25/1/2018 a las 2:35 PM, nadie dijo: Es como comenta el compañero @juan.diegomdc El año pasado (noviembre del año pasado (2017)) estuve comentado también este aspecto en un articulo: http://victor-rodenas.com/2017/11/21/creacion-de-un-modulo-de-pago-en-prestashop-1-7/ junto con otras novedades que incluyen los métodos de pago en Prestashop 1.7 respecto a Prestashop 1.6 PD: Añado que se me olvidaba comentar, recordar que es recomendable hacer override del fichero que ha comentado el compañero, ya que si se actualiza el modulo se perderán los cambios. Hola Victor. ¿Como se podrían usar estas instrucciones para añadir un logo VISA o similar al módulo de pago oficial de Redsys en Prestashop 1.7 ? No soy capaz de encontrar la solución. 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