sábado, 2 de noviembre de 2013

Modificar plugin cheque de jomres para hacer transferencia bancaria

Jomres es uno de los componentes más potentes de Joomla para hacer todo tipo de reservaciones desde hoteles, alojamientos, parkings, tours, etc,etc.. , muy completo y por ende también complejo.
Cuando decidimos usarlo en World Motion para uno de nuestros clientes que necesitaba una web de reserva de alojamientos y apartamentos en todo el mundo y , uno de los problemas que me encontré que y me ha dado más dolores de cabeza es el tema de hacer una transferencia bancaria como forma de pago para el cliente, aunque a priori parece algo simple y después de dar vueltas y gracias a Israel Benjumeda pude encontrar la forma de hacerlo instalando el plugin  Core Gateway Cheque desde el gesto de plugins de jomres como primer paso.
Lo que necesitabamos era que los textos aparezcan claros y con la posibilidad de hacerlo en todos los idiomas que quisiésemos.

Todo se puede ver en funcionamiento desde la web de nuestro cliente http://www.mirafloressuites.com
Como hacelo paso a paso:
En las opciones de pago necesitamos modificar primero el nombre de cheque y la imágen por la de transferencia, agregar un título y el recuadro similar al de requisitos especiales. También necesitamos modificar los textos que al seleccionar la opción de transferencia bancaria y hacer click en reserva la pantalla que le aparezca le indique al usuario que es una reserva temporal y que debe de ingresar el dinero a la cuenta tal y confirmar la reserva.

1.Vamos ala administración de jomres del backend al apartado de Edición de plantilla y modificamos la plantilla bookings_showconfirmation.html , pinchamos en el icono y ponemos nuevo o editar dependiendo si ya la habeis personalizado o no , en la linea 213  hay el siguiente codigo:
<patTemplate:tmpl name="gateways">
<div class="row-fluid">
<div class="span3">
{GWINPUT}
</div>
<div class="span9">
{GWIMAGE}
</div>
  </div>
</patTemplate:tmpl>

Esto lo dejamos tal cual pero agregamos lo siguiente antes y despúes:

<div class="well">
  <h3 class="page-header">{BOOKINGSPAYMENT}</h3> 
<patTemplate:tmpl name="gateways">
<div class="row-fluid">
<div class="span3">
{GWINPUT}
</div>
<div class="span9">
{GWIMAGE}
</div>
  </div>
</patTemplate:tmpl>
   </div>

Guardamos y listo.

2.Ahora hay que hacer cambios en los archivos php de jomres, para eso vamos a nuestro site y en /jomres/core-plugins/core_gateway_cheque ,descargamos el archivo j00509cheque.class.php a nuestro ordenador y lo abrimos , en la linea 37 donde dice
$gatewayname=jr_gettext('_JOMRES_CUSTOMTEXT_GATEWAYNAME'.$plugin,ucwords($plugin),false,false);
lo cambiamos por esto:
$gatewayname=jr_gettext('_JOMRES_CUSTOMTEXT_GATEWAYNAME'.$plugin,_JOMRES_CUSTOMTEXT_GATEWAYNAME,false,false);
Guardamos y cerramos , ahora una recomendacion para cuando hagais cambios de archivos antes de subir al servidor guardar una copia del original por si acaso y luego si subir este nuevo con esta modificación que reemplazará al anterior.


3.Para cambiar la imagen del cheque que esta un poco horrible y desproporcionada ir a /jomres/core-plugins/core_gateway_cheque y el archivo se llama: j00510cheque.gif  es un gif de 37x17 , mas abajo os pongo un ejemplo.

4.Descargamos desde /jomres/core-plugins/core_gateway_cheque de nuestro servidor el archivo j00600cheque.class.php. Abrimos el archivo y en la linea 70 del archivo cambiar desde la 70 a la 74 por lo siguiente:

$output['JR_GATEWAY_SENDDEPOSITTO']=jr_gettext('_JOMRES_CUSTOMTEXT_SENDDEPOSITTO'.$plugin,_JOMRES_CUSTOMTEXT_SENDDEPOSITTO,false,false);
$output['JR_GATEWAY_BELOWADDRESS']=jr_gettext('_JOMRES_CUSTOMTEXT_BELOWADDRESS'.$plugin,_JOMRES_CUSTOMTEXT_BELOWADDRESS,false,false);
$output['JR_GATEWAY_CONTACTUS1']=jr_gettext('_JOMRES_CUSTOMTEXT_CONTACTUS1'.$plugin,_JOMRES_CUSTOMTEXT_CONTACTUS1,false,false);
$output['JR_GATEWAY_CONTACTUS2']=jr_gettext('_JOMRES_CUSTOMTEXT_CONTACTUS2'.$plugin,_JOMRES_CUSTOMTEXT_CONTACTUS2,false,false);
$output['_JOMRES_REVIEWS_SUBMIT'] = jr_gettext('_JOMRES_CUSTOMTEXT_SUBMIT'.$plugin,_JOMRES_REVIEWS_SUBMIT,false);

Guardar y subir a servidor.



5.Ahora hay que ir a /jomres/core-minicomponents y descargar el archivo j02990showconfirmation.class.php
Abrir el mismo y agregar en la línea 433 :
$booking_parts[ 'BOOKINGSPAYMENT' ] = jr_gettext( '_JOMRES_COM_MR_EB_ROOM_BOOKINGSPAYMENT', _JOMRES_COM_MR_EB_ROOM_BOOKINGSPAYMENT );// nuevo forma de pago

y en la 605:
$output[ ] = jr_gettext( '_JOMRES_COM_MR_EB_ROOM_BOOKINGSPAYMENT', _JOMRES_COM_MR_EB_ROOM_BOOKINGSPAYMENT );// nuevo forma de pago

Guardar y subir a servidor.

6.Descargaros los archivos de idiomas de jomres en /jomres/language/propertyrental en mi caso es alquiler de propiedad será esta carpeta pero si estais gestionando otro modelo de negocio quizas sea tour o car en vez de propertyrental en esta carpeta buscar el archivo es-ES.php y agregar las siguientes líneas de códigos no importa el lugar :
jr_define( '_JOMRES_COM_MR_EB_ROOM_BOOKINGSPAYMENT', 'Forma de pago' );//nuevo forma de pago
jr_define( '_JOMRES_CUSTOMTEXT_GATEWAYNAMEcheque', 'Transferencia Bancaria' );
jr_define('_JOMRES_CUSTOMTEXT_SENDDEPOSITTOcheque','Reserva Temporal. Por favor para completar la reserva envíe el importe de ');
jr_define('_JOMRES_CUSTOMTEXT_BELOWADDRESScheque',' al número de cuenta IBAN/BIC: ES05 2100 0025 236589966  ');
jr_define('_JOMRES_CUSTOMTEXT_CONTACTUS1cheque','Si tiene algún problema, por favor no dude en contactar con nosotros.');
jr_define('_JOMRES_CUSTOMTEXT_CONTACTUS2cheque','Envie un email a ');
jr_define('_JOMRES_CUSTOMTEXT_SUBMITcheque','Confirmar Reserva Temporal');

Guardar y subir al servidor.

7.Si teneis más idiomas en vuestra web descargaros el archivo correspondiente y agregar lo mismo pero traduciendo los textos al idioma correspondiente.

Eso es todo.
Hasta aqui es todo para descargaros todos los archivo en los siguientes enlaces:
https://github.com/matraconaso/transferencia_bancaria_jomres
http://www.wmotion.net//blog/transferencia_bancaria_jomres/j00510cheque.gif

Ver web en funcionamiento http://www.feelinhouse.com/es/apartamentos
Desarrollo web , diseño de páginas web o Asesoramiento gratuito en http://wmotion.net/contacto






16 comentarios :

  1. Respuestas
    1. Gracias a ti Isra y estamos en contacto para cualquier otra cosa

      Eliminar
  2. Ya está funcionando.
    http://www.ismalar.com/3/es/todo/viewproperty/fin-de-ano-en-el-sahara/16/
    ;)

    ResponderEliminar
    Respuestas
    1. te salve la vida Isra jajajaj , bueno nos la salvamos juntos!!!!!

      Eliminar
  3. Hola! Todo muy bien explicado en el tutorial, Es lo que buscaba.. Peeero..

    Cuando modifico j02990showconfirmation.class como indicas e intento hacer el checkout recibo el siguiente error:

    Fatal error: Class 'j00600cheque' not found in /home/content/..../jomres/libraries/jomres/classes/mcHandler.class.php on line 287

    Tambien he intentado copiar el mismo archivo j02990showconfirmation.class de tu github y recibo el siguiente error...

    Error, class j02990showconfirmation does not exist. Most likely you've renamed a minicomponent file, but not the class in that file


    Que podria resolver esto!

    Gracias!

    ResponderEliminar
  4. que version de jomres y joomla tienes? , puede que no sea la misma version ya que en esa linea no tengo lo mismo ,vuelve todo atras y prueba que el plugin funcione bien solo, mi email es info@wmotion.net si me quieres enviar los archivos y la direccion web para que le eche un vistazo.

    ResponderEliminar
  5. Hola Ricardo, me interesa tu solución de modificar el plugin "cheque" para sustituirlo por el tipo de pago por transferencia pero he seguido todos los pasos tal como propones en tú solución y al realizar la reserva me jomres me devuelve el siguiente error:
    pat-Warning: Path to template is not set.
    Related to /homepages/20/d501940750/htdocs/jomres/remote_plugins/core_gateway_cheque/
    Backtrace of files
    j00600cheque.class.php
    jomres.php
    jomres.php
    site.php
    site.php
    cms.php

    Tienes idea de lo que me está pasando , he revisado cuidadosamente el código y no veo que haya ningún error.
    Muchas gracias y un saludo.

    ResponderEliminar
  6. es raro en que momento te da el error? es antes de poder elegir la forma de pago? , pasame el enlace a ver donde es que esta el error , aparenta ser que no encuentra la ruta del template del plugin cheque , comprueba que funciona bien sin hacer modificaciones , es en joomla 3.X? , o 2.5? , si no lo puedes resolver enviame un email a info@wmotion.net y te echo una mano , saludos

    ResponderEliminar
    Respuestas
    1. Es tras elegir la forma de pago, el navegador enlaza con la url .....?task=processpayment y entonces lanza el trazeado que te he mostrado antes.
      Es joomla 3..X y no entiendo que enlace me pides

      Gracias por tu respuesta.

      Eliminar
    2. te pedía la url de la web , pero ya no hace falta me has dicho lo que necesitaba saber , has probado en usar el plugin cheque original y te funcionaba bien? , te iba a una página de confirmacion de la reserva? , yo te recomiendo que vuelvas atras ,desinstales y vuelvas a instalar el plugin cheque y lo pruebes solo sin hacer cambios, porque parece que ha perdido la ruta donde tiene que procesar el mensaje de confirmación, si funciona bien vuelve a hacer nuevamente todos los pasos. Luego me cuentas

      Eliminar
    3. ok. te entiendo.

      Muchas gracias de nuevo. Voy a hacer lo que me dices

      Eliminar
  7. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  8. Cancelar, Cancelar

    No he dicho nada, he reinstalado de nuevo el driver, he realizado las modificaciones tal como explicas en tú artículo y ahora todo funciona ok.
    Gracias por la ayuda, me ha ido de maravilla poder configurar este método para ofrecer mejor servicio a los clientes.

    ResponderEliminar
  9. alguna forma de crear/modificar plugin de formas de pago usando la versión jomres gratis???

    ResponderEliminar
  10. uff , con la version gratuita nunca he probado porque solo te deja poner 2 propiedades y de mucho no me sirvio para lo que yo quería hacer, tampoco puedes instalar los plugins poca cosa se puede hacer, la version gratuita es más una versión de prueba que otra cosa.

    ResponderEliminar
  11. ¿Hola alguien ha modificado la factura de jomres?me voy a volver loca porque quiero que se muestren otros datos y no sé dónde está el array de esos datos.¿alguien podría ayudarme con esto?
    Gracias

    ResponderEliminar