• Resuelto roflg

    (@roflg)


    Estoy intentando personalizar los mensajes de mi wishlist y quiero cambiar el «Asunto» cuando envío mi Wishlist. Lo he cambiado en el share.php del plugin, pero convierte los espacios en símbolos «+» y quiero que aparezcan los espacios en blanco.

    El código es el siguiente :

    <?php if( $share_email_enabled ): ?>
                <li style="list-style-type: none; display: inline-block;">
                    <a class="email" href="mailto:info@nusco.com?subject=<?php echo urlencode( apply_filters( 'yith_wcwl_email_share_subject', __( '¡Hola! Quiero enviaros mi lista de deseos', 'yith-woocommerce-wishlist' ) ) )?>&body=<?php echo apply_filters( 'yith_wcwl_email_share_body', $share_link_url ) ?>&title=<?php echo $share_link_title ?>" title="<?php _e( 'Email', 'yith-woocommerce-wishlist' ) ?>"></a>
                </li>
            <?php endif; ?>

    Lo que quiero que aparezca con espacios en blanco es «¡Hola! Quiero enviaros mi lista de deseos». Ya he probado a meterlo como %20% y como   pero tampoco funciona.

    Gracias de antemano.

    Estoy usando el plugin YITH WooCommerce Wishlist

    • Este debate fue modificado hace 7 años, 5 meses por roflg.
Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)
  • Moderador almendron

    (@almendron)

    Prueba a cambiar el espacio en blanco por &nbsp;

    Iniciador del debate roflg

    (@roflg)

    Ya he probado (lo puse en la exposición del problema pero me lo remplazó por un espacio ^^»)

    Me aparece: ¡Hola!&nbsp;Quiero&nbsp;enviaros&nbsp;mi...

    Moderador almendron

    (@almendron)

    Si no me equivoco, este el código original:

    <?php if( $share_email_enabled ): ?>
                <li style="list-style-type: none; display: inline-block;">
                    <a class="email" href="mailto:?subject=<?php echo urlencode( apply_filters( 'yith_wcwl_email_share_subject', __( 'I wanted you to see this site', 'yith-woocommerce-wishlist' ) ) )?>&body=<?php echo apply_filters( 'yith_wcwl_email_share_body', $share_link_url ) ?>&title=<?php echo $share_link_title ?>" title="<?php _e( 'Email', 'yith-woocommerce-wishlist' ) ?>"></a>
                </li>
    <?php endif; ?>

    Además del texto en español que has puesto, varias diferencias. No se si algunas de ellas podrían ocasionar tal comportamiento.
    Por ejemplo mailto:info@nusco.com?subject y mailto:info@nusco.com?subject

    • Esta respuesta fue modificada hace 7 años, 5 meses por almendron.
    Iniciador del debate roflg

    (@roflg)

    Con el código original también me ponía los «+» en lugar de espacios
    Quiero+que+veas+este+sitio

    Iniciador del debate roflg

    (@roflg)

    Mirando por Internet, creo que es por la funcion urlencode():

    «urlencode — Codifica como URL una cadena

    Devuelve una cadena en la que todos los caracteres no-alfanuméricos excepto -_. han sido reemplazados con un signo de porcentaje (%) seguido por dos dígitos hexadecimales y los espacios son codificados como signos de suma (+). Esta es la misma codificación usada en los datos publicados desde un formulario WWW, es decir, el mismo mecanismo usado para el tipo de medios application/x-www-form-urlencoded. Este mecanismo difiere de la codificación en el » RFC 3986 (vea rawurlencode()) en que, por razones históricas, los espacios son codificados como signos de suma (+).»

    http://php.net/manual/es/function.urlencode.php

    No sé si esto se puede cambiar… U_U»

    Iniciador del debate roflg

    (@roflg)

    De hecho, si le quito el urlencode(), ya pone los espacios en blanco correctamente. Lo que no sé es si esto generará algún problema luego…

    Moderador almendron

    (@almendron)

    1) Si en el original ponía mailto:?subject en lugar de mailto:info@nusco.com?subject, yo lo dejaría como estaba porque este cambio podría darte errores.
    2) No hace falta que quites lo de urlencode porque el plugin viene preparado para ser traducido. En concreto, la frase «I wanted you to see this site» puedes cambirala a lo que quieras.

    Ve a la carpeta «languages» y edita el archivo «yith-woocommerce-wishlist-es_ES.po». Cambia allí la traducción. Puedes usar la versión gratuita de https://poedit.net/

    Iniciador del debate roflg

    (@roflg)

    Muchas gracias por la respuesta

    1) Le puse el correo porque quiero que, por defecto, ya aparezca esa dirección de correo en el campo «Para» (y funciona… no me da ningún error) ¿hay alguna manera mejor de hacerlo?

    2) Traducir se traduce sin problemas, ya lo tenía traducido con el poedit, el problema son los espacios que convierte en «+» haga lo que haga, a causa del urlenconde(), por eso probé a cambiar el cóigo php directamente…

    Moderador almendron

    (@almendron)

    1) Si funciona, no lo toques 🙂
    2) Es cuestión de probar…

    Iniciador del debate roflg

    (@roflg)

    MUCHÍSIMAS GRACIAS!!! ^^

Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)
  • El debate ‘Espacios en blanco en el subject del share.php de la Wishlist’ está cerrado a nuevas respuestas.