Jump to content

Tema Mobile, 1.5.4.1 usar otros medios de pago desde el movil. SOLUCIONADO


Recommended Posts

Hola, 

Tengo instalado el prestashop 1.5 con la intención de usar básicamente la versión móvil, 

 

Le voy cogiendo el truco, pero necesito ayuda con el tema de pagos.

Aparentemente solo se puede pagar por el momento con paypal y parece que es cierto pero...

 

¿Hay algún modulo que resuelva eso y permita el pago en mano o contra reembolso?

 

¿Se puede saltar el método de pago y generar el pedido completo de igual manera?

 

No se hacer gran cosa así que por probar....

He desactivado todos los métodos de pago y me dice que no hay modulo de pago.

He activado el modulo de contra reembolso solo y tampoco funciona.

 

Gracias por vuestro tiempo

 

Saludos

 

Roberto

 

 

 

Solución

 

Gracias Solucionado.Y para los novatos como yo.......

 

versión 1.5.4.1

 

Primero hay que tener instalado el prestashop en modo free y no el safe que suelen ofrecer los proveedores de host. Si lo habéis instalado directamente desde la web de pestashop, ya está en modo free.

 

Después desde el ftp se baja el archivo  classes>Module>Module.php

Se guarda una copia del archivo original y en una copia se comenta la linea rondando la 1310. En esta version es la 1315 y la 1316. Quedaría así-

 

public static function getPaypalIgnore()
{
$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))
//return 'm.`name` = \'paypal\'';
}
 
/**
 
Comentar la linea es poner esas dos // barras delante de la misma.
 
Con esto te permite usar desde el theme mobile por defecto, las formas de pago que tengas instaladas y no solo la paypal.
 
A mi me ha funcionado así, pero no quiero decir que sea la única o la mejor porque no tengo ni idea.
 
Muchísimas gracias, vuestros comentarios me han permitido arreglarlo sin tener ni idea en absoluto de este asunto.
 
Saludos
Edited by Rodeval (see edit history)
Link to comment
Share on other sites

Gracias oka, he seguido el enlace que has indicado y he llegado a la solución que propone Saukerl para la versión 1.5 :

 

Comentas las líneas 1310 y 1311 del fichero classes\module\Module.php, versión 1.5.2

//if (Context::getContext()->getMobileDevice() && Context::getContext()->shop->getTheme() == 'default' && in_array($iso_code, $paypal_countries))
// $paypal_condition = ' AND m.`name` = \'paypal\'';
$list = Shop::getContextListShopID();
Segun el codigo es como si con la plantilla default de prestashop y para los paísesde 'ES', 'FR', 'PL', 'IT', solo se permitiera pagar con paypal.

He hecho esto y ahora a mí me funciona OK.

Link to comment
Share on other sites

Hola, ya aviso que soy muy torpe.

He descargado el Module.php y he copiado la linea que he visto diferente. Que no me coincide con la 1310.

Pero no consigo que funcione, lo he copiado tal cual lo pones en el post, 

También he seguido el hilo que comentas, pero no se que hacer en el archivo, algo no pego bien.

Gracias

Link to comment
Share on other sites

Corrijo, ahora me dice que no se han instalado módulos de pago.

Voy a ver que pasa por ahí.

 

Edito, 

Tengo instalado el modulo de pago contrareembolso, en la versión web me funciona, pero en movil, me dice que no tengo instalado nada.

 

Cómo dije he intentado hacer lo que decís arriba, pero no lo he debido de hacer bien.

Me podeis decir exactamente que lineas cambio o donde tengo que copiar el texto del post de pereross?

 

Muchas gracias y disculpad.

 

Roberto

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

He repetido todo y no lo consigo, de hecho he perdido el archivo original y ahora no lo tengo para dejarlo todo como estaba entre las lineas 1310 y 1315.

 

No me podréis hacer una captura para vez exactamente como debe de estar?

 

Muchas gracias.

Link to comment
Share on other sites

Rodeval, no tienes una copia del archivo original ? Yo, antes de cambiar cualquier archivo, me hago una copia por si acaso...

 

Al realizar las modificaciones que propone Saukerl no me fijé si eran exactamente los mismos números de línea que él decia. Cuando son versiones diferentes tal vez los números de línea no son iguales pero lo que importa és el código. En este caso, el cambio en el código sólo consistía en comentar un par de líneas (poniendo simplemente un // inicial). Así, las línea de código quedan inactivas.

Link to comment
Share on other sites

Eso hice con el archivo, pero con tantas pruebas en una de ellas me lo cargue. Así que ahora no lo tengo.

Lo buscaré por la red o ya veré.

YA ves, soy un tomate.

Y además en vez de hacer eso de las // lo que hice fué copìar las lineas, pero no quedaba igual.

 

Muchas gracias por contestar tan pronto, necesitaba esto. A ver como lo soluciono ahora.

 

De nuevo gracias, 

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

Sigo con ello, tengo el archivo original, pero no es igual al que teneis vosotros.

 

La Versión de prestashop es 1.5.4.1

y lo que pone en las líneas cercanas a lo que decís es esto.

 
public static function preCall($module_name)
{
return true;
}
 
public static function getPaypalIgnore()
{
$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))
return 'm.`name` = \'paypal\'';
}
 
Donde pongo las // ?
 
Muchas gracias y perdonad.
Link to comment
Share on other sites

Mi versión de Prestashop no es la misma que la tuya. La mía es la 1.5.5.0. Esto explicaría que el código del archivo no sea exactamente el mismo. Por ejemplo, en mi Module.php no aparece la función getPaypalIgnore. Por tanto, desconozco si comentar la línea de la condición (es decir, simplemente poniendo una // delante de la instrucción if) será lo adecuado o no para conseguir lo que quieres.

 

Un saludo.

Link to comment
Share on other sites

Gracias Solucionado.Y para los novatos como yo.......

 

versión 1.5.4.1

 

Primero hay que tener instalado el prestashop en modo free y no el safe que suelen ofrecer los proveedores de host. Si lo habéis instalado directamente desde la web de pestashop, ya está en modo free.

 

Después desde el ftp se baja el archivo que comentan classes>Module>Module.php

Se guarda una copia del archivo original y en una copia y se comenta la linea rondando la 1310. En esta version es la 1315 y la 1316. Quedaría así-

 

public static function getPaypalIgnore()
{
$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))
//return 'm.`name` = \'paypal\'';
}
 
/**
 
Comentar la linea es poner esas dos // barras delante de la misma.
 
Con esto te permite usar desde el theme mobile por defecto, las formas de pago que tengas instaladas y no solo la paypal.
 
A mi me ha funcionado así, pero no quiero decir que sea la única o la mejor porque no tengo ni idea.
 
Muchísimas gracias, vuestros comentarios me han permitido arreglarlo sin tener ni idea en absoluto de este asunto.
 
Saludos
  • Like 1
Link to comment
Share on other sites

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