Jump to content

default mobile theme v1.5. [SOLUCIONADO] [SOLVED]


Saukerl

Recommended Posts

Hola,

 

Cuando estoy confirmando un pedido desde un dispositivo movil, no me aparece ningun metodo de pago exceptuando de paypal. En canvio si lo realizo des de un equipo de escritorio, me aparecen todos los metodos de pago activos.

 

Si desactivo el paypal, solo des de el movil, prestashop me muestra un aviso de que no hay metodos de pago instal·lades.

 

Entiendo que esto es un bug de la.plantilla movil que lleva el prestashop por defecto.

 

Que puedo hacer para solucionar?

Edited by Saukerl (see edit history)
  • Like 1
Link to comment
Share on other sites

El codigo que me genera el navegador cuando navego des de mobile es:

 


<div id="HOOK_PAYMENT">
<p class="payment_module">
<a href="javascript:void(0)" onclick="$('#paypal_payment_form').submit();" id="paypal_process_payment" title="Pagar con PayPal" class="ui-link">
<img src="http://libreriaelcid.com/shop/modules/paypal/img/logos/express_checkout_mobile/CO_en_US_orange_295x43.png">

</a>
</p>

<form id="paypal_payment_form" action="http://libreriaelcid.com/shop/modules/paypal/express_checkout/submit.php" data-ajax="false" title="Pagar con PayPal" method="post">
<input type="hidden" name="express_checkout" value="payment_cart">
<input type="hidden" name="current_shop_url" value="http://libreriaelcid.com/shop/es/carrito?multi-shipping=">
</form>
</div>
</div>

 

 

En canvio si navego como PC,me genera:

 

<div id="HOOK_PAYMENT">
<p class="payment_module">
<a href="http://libreriaelcid.com/shop/es/module/cheque/payment" title="Pagar por cheque">
 <img src="/shop/modules/cheque/cheque.jpg" alt="Pagar por cheque" width="86" height="49">
 Pagar por cheque (proceso más largo)
</a>
</p>
<p class="payment_module">
<a href="http://libreriaelcid.com/shop/es/module/bankwire/payment" title="Pago por transferencia bancaria">
 <img src="/shop/modules/bankwire/bankwire.jpg" alt="Pago por transferencia bancaria" width="86" height="49">
 Pago por transferencia bancaria (el proceso llevará más tiempo)
</a>
</p>
<p class="payment_module">
<a href="javascript:void(0)" onclick="$('#paypal_payment_form').submit();" id="paypal_process_payment" title="Pagar con PayPal">
	 <img src="/shop/modules/paypal/img/logos/ES_horizontal_solution_PP.gif" alt="Pague con su tarjeta de débito, crédito o su cuenta PayPal" height="48px">
  Pague con su tarjeta de débito, crédito o su cuenta PayPal

</a>
</p>
<form id="paypal_payment_form" action="http://libreriaelcid.com/shop/modules/paypal/express_checkout/submit.php" data-ajax="false" title="Pagar con PayPal" method="post">
<input type="hidden" name="express_checkout" value="payment_cart">
<input type="hidden" name="current_shop_url" value="http://libreriaelcid.com/shop/es/carrito?multi-shipping=">
</form>
</div>

 

 

Alguien tiene idea de que puede ser ?

 

 

Grácias,

  • Like 1
Link to comment
Share on other sites

Yo creo que no es un bug, porqué está puesto así a propósito. Pero yo tampoco entiendo porqué solo permiten pagar con Paypal.

 

Comentas las líneas 1310 - 1313 del fichero classes\module\Module.php, versión 1.5.2:

 

$iso_code = Country::getIsoById((int)Configuration::get('PS_COUNTRY_DEFAULT'));
 $paypal_countries = array('ES', 'FR', 'PL', 'IT');
 if (Context::getContext()->getMobileDevice() && Context::getContext()->shop->getTheme() == 'default' && in_array($iso_code, $paypal_countries))
  $paypal_condition = ' AND m.`name` = \'paypal\'';

  • Like 3
Link to comment
Share on other sites

Gracias Jose,

 

he probado lo que me has comentado pero no me ha funcionado, al seleccionar el metodo de pago me volvia aparecer el mensaje que me aparece cuando por el backoffice desactivo el metodo de pago paypal:

 

"No se han instalado metodos de pago"

 

 

Pero una vez me has indicado el archivo enlugar de comentar las lineas 1310 a las 1313, he comentado las linas 1310 y 1311:

 

 

 


//if (Context::getContext()->getMobileDevice() && Context::getContext()->shop->getTheme() == 'default' && in_array($iso_code, $paypal_countries))
// $paypal_condition = ' AND m.`name` = \'paypal\'';

$list = Shop::getContextListShopID();

 

 

Creo que tienes razon, segun el codigo es como si con la plantilla default de prestashop y para los países de 'ES', 'FR', 'PL', 'IT', solo se permitiera pagar con paypal.

 

 

 

Muchisimas gracias Jose por ayudarme con este problemilla que me estaba ya volviendome loco.

  • Like 5
Link to comment
Share on other sites

Gracias Jose,

 

he probado lo que me has comentado pero no me ha funcionado, al seleccionar el metodo de pago me volvia aparecer el mensaje que me aparece cuando por el backoffice desactivo el metodo de pago paypal:

 

"No se han instalado metodos de pago"

 

 

Pero una vez me has indicado el archivo enlugar de comentar las lineas 1310 a las 1313, he comentado las linas 1310 y 1311:

 

 

 


//if (Context::getContext()->getMobileDevice() && Context::getContext()->shop->getTheme() == 'default' && in_array($iso_code, $paypal_countries))
// $paypal_condition = ' AND m.`name` = \'paypal\'';

$list = Shop::getContextListShopID();

 

 

Creo que tienes razon, segun el codigo es como si con la plantilla default de prestashop y para los países de 'ES', 'FR', 'PL', 'IT', solo se permitiera pagar con paypal.

 

 

 

Muchisimas gracias Jose por ayudarme con este problemilla que me estaba ya volviendome loco.

 

Ya me tiré yo mis horas para descubrir porqué pasaba eso ;)

Link to comment
Share on other sites

  • 3 months later...
  • 3 weeks later...
  • 5 weeks later...

Yo tengo la version prestashop 1.4.4.1 y me pasa lo mismo, termino de hacer un pedido desde el movil y obtengo:

Sorry, no payment module is available in your country.

 

He revisado el archivo que indicais y buscado una secuencia similar, pero esta version no tiene ese texto en classes/module.php asi que me estoy volviendo loco por que no me permite seleccionar ningun modo de pago al finalizar el pedido, ya que mi theme ni siquiera es el default de prestsahop.

 

Alguien puede ayudarme para corregir este error con los modulos de pago en esta version de prestahop?

Link to comment
Share on other sites

Hola,

 

Tengo el mismo problema, he instalado el modulo mobile theme para prestashop 1.4.9 y funciona todo correctamente excepto las formas de pago, que no sale ninguna. Sorry, no payment module is available in your country.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

La solución que yo posteé es para PS 1.5, y además por las fechas (Diciembre) fue de las primeras. Posiblemente ahora no coincida número de líneas y demás.

 

El problema en PS 1.5 es que solo aparece Paypal como método de pago desde el móvil, y parece que vuestro problema es diferente.

Link to comment
Share on other sites

Para aquellos con problemas con la version movil en presatashop 1.4

El asunto es que el modulo solo trae la forma de pago de paypal ( además de que dicen que solo es compatible con la ultima version de ese modulo de paypal y si no tienes esa version entonces no funciona bien). Para que muestre el resto de formas de pago, deberéis incluir en la carpeta modules, dentro del theme prestashop mobile, las carpetas de los modulos de pago que esteis utilizando y en ellas el archivo.tpl (con el tpl y las imagenes es suficiente) que podeis modificar de la forma que mejor se ajuste al theme mobile.

Por ejemplo en el modulo de transferencia bancaria, "carpeta bankwire dentro del tema prestashop mobile" (que viene pero no funciona correctamente) hemos incluido en el archivo tpl, la siguiente modificación:

donde dice:

<p class="payment_module">

Ponemos

<p data-role="listview" class="payment_module" style="margin:10px 0px 0px 0px; padding:5px 0px;">

(la configuracion del style, es para que se ajuste al diseño que queremos, podeis poner lo que os convenga, claro.)

 

Ademas dentro de esa carpeta modules dentro del prestashop mobile, hemos copiado la carpeta de servired y contrarrembolso con fee, y modificado los archivos tpl, para ajustar el style al diseño movil. ( no es necesario copiasr los archivo php, ni ningun otro solo los tpl y las imagenes.

Ademas de poder modificar el texto que se muestra en las formas de pago dentro de cada archivo tpl, a vuestro gusto.

Espero que os funcione.

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

Yo he conseguido hacer que me funcione el modulo del bbva.

Pero el modulo del Contra reembolso, cuando le doy a confirmar me sale el error: Error loading page.

 

Si alguien me dijera como solucionarlo, le estaría eternamente agradecido.

 

P.D. Aunque uso el modulo contrareembolso con recargo, el fallo me lo da con este y el normal.

Link to comment
Share on other sites

La carpeta en la que hay que poner los módulos de pago que se utilizan hay que ponerlos en /modules/prestashop mobile/modules o en /themes/prestashop mobile/modules

 

Un saludo.

 

Hay que copiarlos en la carpeta /themes/prestashop mobile/modules

Alli verás que esta la carpeta bankwire, y las demás de los moduos que se modifican para los moviles, como la de productos destacados, etc...

Link to comment
Share on other sites

  • 2 weeks later...

Para aquellos con problemas con la version movil en presatashop 1.4

El asunto es que el modulo solo trae la forma de pago de paypal ( además de que dicen que solo es compatible con la ultima version de ese modulo de paypal y si no tienes esa version entonces no funciona bien). Para que muestre el resto de formas de pago, deberéis incluir en la carpeta modules, dentro del theme prestashop mobile, las carpetas de los modulos de pago que esteis utilizando y en ellas el archivo.tpl (con el tpl y las imagenes es suficiente) que podeis modificar de la forma que mejor se ajuste al theme mobile.

Por ejemplo en el modulo de transferencia bancaria, "carpeta bankwire dentro del tema prestashop mobile" (que viene pero no funciona correctamente) hemos incluido en el archivo tpl, la siguiente modificación:

donde dice:

<p class="payment_module">

Ponemos

<p data-role="listview" class="payment_module" style="margin:10px 0px 0px 0px; padding:5px 0px;">

(la configuracion del style, es para que se ajuste al diseño que queremos, podeis poner lo que os convenga, claro.)

 

Ademas dentro de esa carpeta modules dentro del prestashop mobile, hemos copiado la carpeta de servired y contrarrembolso con fee, y modificado los archivos tpl, para ajustar el style al diseño movil. ( no es necesario copiasr los archivo php, ni ningun otro solo los tpl y las imagenes.

Ademas de poder modificar el texto que se muestra en las formas de pago dentro de cada archivo tpl, a vuestro gusto.

Espero que os funcione.

 

Yo tengo el mismo problema que muchos de aqui con la versión 1.4.10 y siguiendo tus instrucciones al pie de la letra sigue sin salirme las formas de pago a pesar de tener activado el 'forzar compilación' en la pestaña rendimiento

Solo me aparece la forma de pago paypal. Tengo instaladas transferencia bancaria (bankwire) y no aparece en la versión móbil.

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

editando el fichero payment.tpl de themes/prestashop_mobile/modules/bankwire de la forma

 

punto1
<p class="payment_module">
punto2
<a href="{$this_path_ssl}payment.php" title="{l s='Pay by bank wire' mod='bankwire'}">	
	<img src="{$this_path}bankwire.jpg" alt="{l s='Pay by bank wire' mod='bankwire'}" width="86" height="49"/>
	{l s='Pay by bank wire (order process will be longer)' mod='bankwire'}		
</a>
</p>
punto3

 

El resultado es curioso porque muestra PUNTO1 y PUNTO 3.

El PUNTO2 no lo muestra

 

y al mostrar el código fuente obtengo

"punto1"
<ul data-role="listview" data-inset="true" class="ui-listview ui-listview-inset ui-corner-all ui-shadow"></ul>
"punto3"

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

Solucionado!!

La solución está en abrir el fichero /themes/prestashop_mobile/js/payment.js, comentar la línea $(this).html(''); y agregar found = true;.

Os pongo el fichero tal y como debe quedar.

$('#jqm_page_order').live('pageshow', function() {

$('#paypal_payment_form').prev().attr('rel', 'paypal');

var found = false;
$('#HOOK_PAYMENT').children().each(function() {
	if ($(this).attr('id') != 'paypal_payment_form' && $(this).attr('rel') != 'paypal')
		//$(this).html('');
		found = true;
	else
		found = true;
});
if (!found) {
	$('#HOOK_PAYMENT').html(translate_nopaymentmodule);
	$('#jqm_page_order h4').html('');
}
});

 

Por cierto, os aconsejo que os bajeis la última versión que corrige algunos errores sobre todo de diseño.

 

http://addons.prestashop.com/en/neutral/6165-prestashop-mobile-template-14.html

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

  • 3 weeks later...
  • 4 weeks later...

Solucionado!!

La solución está en abrir el fichero /themes/prestashop_mobile/js/payment.js, comentar la línea $(this).html(''); y agregar found = true;.

Os pongo el fichero tal y como debe quedar.

$('#jqm_page_order').live('pageshow', function() {

$('#paypal_payment_form').prev().attr('rel', 'paypal');

var found = false;
$('#HOOK_PAYMENT').children().each(function() {
	if ($(this).attr('id') != 'paypal_payment_form' && $(this).attr('rel') != 'paypal')
		//$(this).html('');
		found = true;
	else
		found = true;
});
if (!found) {
	$('#HOOK_PAYMENT').html(translate_nopaymentmodule);
	$('#jqm_page_order h4').html('');
}
});

 

Por cierto, os aconsejo que os bajeis la última versión que corrige algunos errores sobre todo de diseño.

 

http://addons.presta...emplate-14.html

 

 

Ante todo, agradecerte la solución. Efectivamente con este cambio que indicas las formas de pago aparecen y permiten finalizar el pedido.

El único problema con el que me encuentro es que, al llegar a la página de confirmación, esta no se carga.

Por ejemplo, si se hace una compra por transferencia bancaria el pedido se finaliza (se refleja en el BO) pero al usuario sólo le aparece una pantalla en blanco, no obtiene ni confirmación de que todo ha ido bien, ni los datos de la propia transferencia (cuenta y demás). Con el pago contra reembolso me pasa lo mismo. ¿Has podido solucionarlo?

Un saludo y nuevamente gracias :D

Link to comment
Share on other sites

Mi situación era la misma que muchos de este hilo: versión 1.4.11 e instalado última versión de prestahop mobile con el problema de los métodos de pago que describís.

 

Tras seguir los consejos dados anteriormente, no conseguía que funcionara.

 

Y tras dos días y realizando lo siguiente, he conseguido que salgan por fin, las formas de pago.

 

Aún no lo he probado completamente, pero me ha dado tal alegría el lograrlo, que no he podido esperar para compartirlo, por si entre todos, vamos resolviendo el problema.

 

Lo que he hecho es:

 

En el archivo full_site.js, que se encuentra en modules/mobile_theme, he elimiando la línea:

$('a').attr('href', appendFullsiteLink);

 

Anteriormente, eliminé también del archo header.tpl, de la carpeta themes/prestahsop_mobile, la línea: {if isset($translate_nopayment)}{$translate_nopayment}{/if}

 

Y del archivo payment.js de themes/presahsop_mobile/js, comenté las líneas:

 

if (!found) {

$('#HOOK_PAYMENT').html(translate_nopaymentmodule);

$('#jqm_page_order h4').html('');

}

 

para evitar un error que daba por no estar definida la variable "translate_nopaymentmodule", consecuencia de asteriscarla en el header.tlp.

 

Igualmente, modifiqué los payment.tpl de mis módulos de pago bankwire, cashdeliverywithfee,... que previamente copié a la carpeta themes/module, la línea:

 

<p class="payment_module">

 

por

 

<p data-role="listview" class="payment_module" style="margin:10px 0px 0px 0px; padding:5px 0px;" data-ajax="false" >

 

Y en order-payment.tpl, cambié la línea:

 

{$HOOK_PAYMENT|regex_replace:'/<p\s*class="payment_module"\s*>(.*)<\/p>/Usmi':'<ul data-role="listview" data-inset="true"><li style="line-height: 78px; padding: 5px 0 5px 10px;">\1</li></ul>'}

 

por solo

 

{$HOOK_PAYMENT}

 

(Imagino que la anterior línea lo que trataba era de sustituir class="payment_module", por la nueva línea que hemos puesto en el payment.tpl, con lo que igual el anterior paso sobra).

 

Ya os digo que sigo probando, y que igual alguno de los anteriores cambios sobra, pero entre todos iremos dando con la solución "más limpia y defintiva".

 

Suerte.

Link to comment
Share on other sites

  • 4 weeks later...

Hola, mi problema es el siguiente: el tema móvil incluido en prestashop 1.5.4.1 no muestra los campos de texto de personalización obligatorios de mi web mostrando el error "Por favor, rellene todos los campos requeridos, a continuación, guardar la personalización.".

 

¿Alguien sabría como incluir esta posibilidad en el tema móvil?

 

Otra cosa que me gustaría hacer es desactivar de este tema la posibilidad de pagar directamente con paypal porque se salta la posibilidad de incluir la personalización obligatoria y prefiero que se seleccione desde la pasarela de pago igual que en el tema normal.

 

Incluyo imágenes de la web vista desde iPhone donde se aprecia que sí esta disponible el campo "Más" pero no "Personalización del producto" que es el que necesito.

 

Este tema me trae de cabeza.

Agradecimientos anticipados.

 

post-678149-0-18313600-1377479634_thumb.pngpost-678149-0-96406100-1377479644_thumb.png

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...