Jump to content

Solución: ¿Dónde cambiar el texto "envío gratis"? [PrestaShop 1.7]


imediave

Recommended Posts

Hola, quiero compartir con vosotros, una solución a un problema que muchos tenemos y es dificil conseguir la respuesta que funcione.

Muchos de nosotros desearía quitar la palabra "Gratis" o "Envío Gratis" en el carrito de compra o en las ordenes de los productos. Al parecer en la versión 1.7.X  la traducción no funciona, este es un error que puede corregirse en una próxima versión. y de tantas horas de navegación he encontrado la solución en un foro en inglés y quería compartir con vosotros.

Buscar en: DirectorioRaíz/src/Adapter/Cart/CartPresenter.php . Simplemente cambie 'Free' por el texto que desees colocar.

src/Adapter/Cart/CartPresenter.php

   $subtotals['shipping'] = array(
            'type' => 'shipping',
            'label' => $this->translator->trans('Shipping', array(), 'Shop.Theme.Checkout'),
            'amount' => $shippingCost,
            'value' => $shippingCost != 0
                ? $this->priceFormatter->format($shippingCost)
                : $this->translator->trans('Free', array(), 'Shop.Theme.Checkout'),
        );

Esto ha sido un problema desde el año 2012 hasta 2018, nadie habia podido resolverlo. Creo que Prestashop hace esto a propósito, así que tenemos que comprar un módulo para solucionar este problema. Este es un problema muy serio, sin embargo, nadie puede solucionarlo y Prestashop tampoco se molesta.

Imagínese a las personas que compran sus productos, siempre dice envío gratuito y luego, cuando quieren pagar, aparece el costo de envío. Los clientes se sienten derrotados y nunca vuelven a nuestra tienda.

 

espero les ayude

Atentamente

Jimmy Sanabria

Webmaster

 

  • Like 5
Link to comment
Share on other sites

  • 11 months later...
  • 1 month later...
  • 3 weeks later...

todas las traducciones como aqui lo indica es en el archivo que estan

: $this->translator->trans('Free', array(), 'Shop.Theme.Checkout'),     <<<---estara en el archivo ShopThemeCheckout.es-ES.xlf, esto sera en mi caso por que mi idioma es es-ES

 

{server}/app/Resources/translations/es-ES/ShopThemeCheckout.es-ES.xlf    <<<---- hay buscare la palabra Free en el apartado  <source>Free</source> esto no se modifica sino <target state="translated">Gratis</target>

y por ese mismo apartado hasta me dice donde pertenece esto

<file original="src/Adapter/Presenter/Cart/CartPresenter.php" source-language="en" target-language="es-ES" datatype="plaintext">
 

lo correcto o lo ideal es no hacer la traduccion en este archivo (que si funcionan) si no pasar parte de este archivo a nuestras traducciones de tema

{server}/themes/classic/translations/es-ES   <<<---aqui es donde puedes poner las traducciones propias, ya que en una actualizacion o reinstalacion solo exportas tu tema completo y no se perdera nada....

 

  • Like 3
Link to comment
Share on other sites

  • 5 weeks later...
  • 2 months later...
  • 4 weeks later...
  • 3 months later...

Para la versión 1.7.6 la traducción se encuentra "raíz/src/Adapter/Presenter/Cart/CartPresenter.php",  y la solución es la misma que se propuso en el primer comentario. Solo que la solución primera se encuentra obsoleta desde no sé que versión.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...

Utilizo la versión 1.7.6.7 y este hilo fue iniciado por imediave en el 2018 y reforzado por Gerardo Martinez G a quienes les agradezco hayan compartido esta solución que a este año 2020 Prestashop no le dio solución, asimismo quisiera compartirles exactamente lo que realice guiándome por las instrucciones en esta versión 1.7.6.7 

Ruta:        /public_html/src/Adapter/Presenter/Cart/CartPresenter.php

En mi caso esta en la linea 376  

$subtotals['shipping'] = array(
            'type' => 'shipping',
            'label' => $this->translator->trans('Shipping', array(), 'Shop.Theme.Checkout'),
            'amount' => $shippingCost,
            'value' => $shippingCost != 0
                ? $this->priceFormatter->format($shippingCost)
                : $this->translator->trans('To be calculated according to Country of destination', array(), 'Shop.Theme.Checkout'),   // Aqui el texto era "Free" y lo cambie por "To be calculated according to Country of destination

Ahora acá es donde seguí las instrucciones de Gerado Martinez G ya que mi tienda esta a 4 idiomas (Español, Ingles, Portugués y Ruso)

 

Ruta de los archivos a modificar según idioma:        /public_html/app/Resources/translations/es-ES/ShopThemeCheckout.es-ES.xlf

                                                                                                       /public_html/app/Resources/translations/pt-BR/ShopThemeCheckout.pt-BR.xlf

                                                                                                       /public_html/app/Resources/translations/ru-RU/ShopThemeCheckout.ru-RU.xlf

En este caso solo tomo de ejemplo el código del primer archivo  en español

<file original="src/Adapter/Presenter/Cart/CartPresenter.php" source-language="en" target-language="es-ES" datatype="plaintext">
<body>
      <trans-unit id="b24ce0cd392a5b0b8dedc66c25213594" approved="yes">
          <source>To be calculated according to Shipping Country</source>        // (Aca decia "Free" y cambie el texto igual como se puso "CartPresenter.php" sino, no va a funcionar
<target state="final">Por calcular según País de envío</target>                          //(Acá pongo la traducción a Español

Lo mismo realice en los otros archivos según el idioma

 

Ahora quisiera pedirles si pudieran darle una lectura a dos hilos uno que abrí en este foro y otro que también busco  solución, lesagradeceria mucho si tuvierandatosque pudiera ayudarme a poder solucionarlo.

 

 

 

 

 

 

Cuatro.jpg

Dos.jpg

Tres.jpg

Uno.jpg

Link to comment
Share on other sites

  • 2 weeks later...

la mejor solución es la siguiente:

entrar en public_html/src/Adapter/Presenter/Cart /CartPresenter.php

 

Modificar: 

}
        $subtotals['shipping'] = array(
            'type' => 'shipping',
            'label' => $this->translator->trans('Shipping', array(), 'Shop.Theme.Checkout'),
            'amount' => $shippingCost,
            'value' => $shippingCost != 0
                ? $this->priceFormatter->format($shippingCost)
                : $this->translator->trans(' ', array(), 'Shop.Theme.Checkout'),       (aquí quite la palabra free y lo deje vacío:  ' '  (' ', array(), 'Shop.Theme.Checkout'), 

 

De esta manera el cliente no vera precio si no hasta elegir un transporte que tenga un precio diferente de $0, Al elegir un precio si aparecerá 

ver imagenes.  Saludos a la comunidad

Captura de Pantalla 2020-09-17 a la(s) 11.59.46 p. m..png

Captura de Pantalla 2020-09-17 a la(s) 11.59.28 p. m..png

Captura de Pantalla 2020-09-17 a la(s) 11.59.19 p. m..png

Captura de Pantalla 2020-09-17 a la(s) 11.57.33 p. m..png

Captura de Pantalla 2020-09-17 a la(s) 11.57.09 p. m..png

Captura de Pantalla 2020-09-17 a la(s) 11.57.00 p. m..png

  • Like 1
Link to comment
Share on other sites

  • 5 months later...
  • 10 months later...

Muchisimas gracias imediave y Lawster me ha servidor de mucha ayuda, en nuestro caso particular para la tienda de https://www.todonumismatica.com/ teniamos duplicado el archivo tanto en /src/Adapter/Cart/CartPresenter.php (donde el cambio de free a pendiente no nos funcionaba ni borrando la cache), y en  /src/Adapter/Presenter/Cart en el que sin borrar la cache nos ha funcionado a la primera.

Link to comment
Share on other sites

  • 3 months later...

Muchas gracias por la solución, ya no nos aparece en el carrito, solo queda en el resumen del pedido quitar :

Envío y manipulación

Alguien sabe en que fichero se puede modificar para que no aparezca??

Gracias de nuevo,

resumen_pedido.thumb.PNG.84ace9c5e3500a3b3b11a7eece623b3f.PNG

Link to comment
Share on other sites

  • 2 weeks later...

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...