Jump to content

Mensajes sobre pedidos limitado a 69 caracteres Prest 1.7 [SOLUCIONADO]


Recommended Posts

Hola a todos, 

Como podéis observar en la imagen adjunta, la plantilla que utilizo, Bizkick, me limita los caracteres del campo para mensajes de cliente sobre pedido, que aparece en el paso para seleccionar el transporte. El caso, es que ya vengo dedicando demasiado tiempo a tratar de encontrar la solución a este para mi inconveniente, unas 7 u 8 horas, realizando búsquedas en el directorio Prestashop,  Google y foros como este al cual me dirijo por ser el más especializado e indicado. Es importante que lo pudiera ampliar, pues 69 caracteres, resulta escaso.

Agradecería enormemente si alguien pudiera indicarme cual es el archivo al que dirigirme para realizar el cambio de 69 caracteres por 250.

¡¡ Saludos !!

 

image.png.4cd8b79450ce4b6771691a2dd7eef84c.png

Edited by Pedro Armiñanzas (see edit history)
Link to comment
Share on other sites

3 hours ago, joseantgv said:

Eso es específico de tu plantilla, le has preguntado al desarrollador?

Sí, ya lo se joseantgv, pero como es gratuita no me dan soporte.

¿Tienes idea del archivo a tocar?

Por cierto por si queréis ver código fuente o algo, mi dominio: www.articulosdepoker.com

Gracias.

Edited by Pedro Armiñanzas (see edit history)
Link to comment
Share on other sites

32 minutes ago, Prestafan33 said:

/themes/nombre-de-tu-tema/templates/checkout/partials/steps/shipping.tpl

Esa es la ruta de la plantilla que genera esa parte del checkout. Yo miraría ahí.

Hola Prestafan33, agradezco tu colaboración...

He revisado un montón de archivos directamente relacionados con el asunto, entre ellos el que tu me indicas "shipping.tpl" pero como puedes observar en el pantallazo no ofrece posibilidades para realizar ese cambio, me imagino que debe manejar esa cuestión un .php que no localizo. 

image.png.b9f78506d825fa3f6a7bc2a1ce1d7058.png

y esta es la vista del inspector de elementos de Chrome, también podría servir desabilitar o anular esa clase con css, aunque no se si se puede hacer.

image.png.1912da0eda880654fc8beefb1c91cfd3.png

Link to comment
Share on other sites

Me juego lo que sea en que es un Javascript el que lo controla. Deberás mirar en /theme/nombre-de-tu-tema/assets/js/theme.js, o custom.js, ahí habrá una función Javascript que lo controle. Le he echado un vistazo por encima, y creo que la variable "options.maxCharacterSize" es la que lo controla, aunque no he visto dónde se define. ¿El tema tiene un módulo para fijar ajustes? Si es así, busca ahí que seguramente tendrá algo para fijar el número de caracteres.

Link to comment
Share on other sites

Muchas gracias Prestafan33 por el soporte...

Revisados ambos archivos, el custom.js controla los módulos del tema que son los siguientes y no tienen relación con el asunto, no hay más.

image.png.4787e4409e0fec9bda5bbb920a6b42e9.png

En cuanto al theme.js no localizo la variable que me indicas "options.maxCharacterSize"

Me he encontrado con bastantes obstáculos de imperfecciones de la plantilla que he podido resolver, me lo hubiera pensado o adquirido de saberlo, aunque creo que solo dan tres meses de soporte, ¿y después?, más caja, claro. En fin, ahora mismo esta bastante bien así que espero con un poco de ayuda solucionar esto también.

Link to comment
Share on other sites

4 hours ago, Pedro Armiñanzas said:

Hola joseantgv, 

he desactivado la compresión JS como me pides. 

Quedo a la espera.

¡¡ Saludos !!

Hola joseantgv,

es curioso, acabo de entrar a comprobar y no aparece el texto, pero en cuanto le meto un carácter, salta y sigue impidiendo más de 69.

Gracias por el aporte y a ver si podemos seguir progresando...

Te lo agradezco mucho... Saludos...

Edited by Pedro Armiñanzas (see edit history)
Link to comment
Share on other sites

El Javascript sigue minimificado. ¿Has borrado la caché?. Así es imposible decirte en qué archivo exactamente se encuentra la variable que controla la longitud del texto, porque Prestashop junta todos los archivos javascript en un único js llamado bottom-xxxxx.js, pero por la cabecera tiene toda la pinta de formar parte de un módulo.

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

On 10/9/2019 at 11:01 AM, joseantgv said:

Es el módulo correosexpress.

Hola joseantgv:

Aprecio mucho tu capacidad para detectar el problema, realmente es el módulo de Correos Express el que controla el máx. de caracteres, archivo "template_order.tpl", adjunto pantalla de la parte que lo limita con el atributo "maxlength" que intentaba localizar. 

image.png.df14bcc635e95d1c054304a392cac0d9.png

El caso es que lo he cambiado por 250 pero continua igual, creo que esta relacionado con la base de datos, hablaré con los creadores del módulo a ver que me dicen, sin éxito por el momento, por lo que agradecería cualquier sugerencia.

¡¡ Estamos cerca !!

MUCHAS GRACIAS

Edited by Pedro Armiñanzas (see edit history)
Link to comment
Share on other sites

El límite viene de esta parte de código:

function comprobarObservaciones(){
    var comprobante = "";
    if ($('#onepagecheckoutps').length != 0) {
        comprobante = $('[name="message"]');
    } else {
        comprobante = $('[name="delivery_message"]');
    }
    if (comprobante.length != 0) {
        limitarObservaciones(comprobante);
    }
}

function limitarObservaciones(comprobante){
    if(comprobante){ // SI EXISTE 
        if ($('.originalTextareaInfo').length == 0) {
            var options2 = {
               'maxCharacterSize': 69,
               'originalStyle': 'originalTextareaInfo',
               'warningStyle' : 'warningTextareaInfo',
               'warningNumber': 10,
               'displayFormat': '#input caracteres | #left caracteres restantes | #words palabras'
            };
            comprobante.textareaCount(options2);
        }
    }
}

function cronCex(){
    if((jQuery) != 'undefined'){
        (jQuery).ajax({
            type: "POST",
            url: 'https://articulosdepoker.com/modules/correosexpress/index.php', 
            data:
            {
                'action'    :'comprobarCron',
                'token'     :'21416459115d6f9bd700a162.03452064',
            },
            success: function(msg){
                console.log(msg);
            },
            error: function(msg){
                console.log(msg);
            }
        });
    }else{
        $.ajax({
            type: "POST",
            url: 'https://articulosdepoker.com/modules/correosexpress/index.php', 
            data:
            {
                'action'    :'comprobarCron',
                'token'     :'21416459115d6f9bd700a162.03452064',
            },
            success: function(msg){
                console.log(msg);
            },
            error: function(msg){
                console.log(msg);
            }
        });
    }
}

// cronCex();
setTimeout(cronCex, 1000);
setInterval(comprobarObservaciones, 500);

En principio es una plantilla que se inserta en el hookHeader.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Un detalle: Si realmente "grabas" las recogidas de Correos Express usando su módulo y cambias ese Javascript, es posible que si alguien utiliza más caracteres de esos 69 luego el módulo tenga problemas y no te deje grabar las recogidas o tenga algún comportamiento extraño. Incluso es posible que no dé ningún error, pero luego el transportista no pueda ver el texto introducido, porque si ellos lo limitan en ese Javascript a 69 caracteres es porque luego no van a trasladar más en las etiquetas. Tenlo en cuenta.

  • Like 1
Link to comment
Share on other sites

Hola joseantgv:

¡¡Me quito el sombrero!!

He desenganchado el módulo del hook displayHeader y ha desaparecido el tope o bloqueo. Por si las moscas y para comprobar el correcto funcionamiento del módulo, he realizado un pedido de prueba que se ha generado perfectamente. El texto introducido llega sin la limitación como mensaje al administrador y al módulo en cuestión.

Por otro lado, como bien dice Prestafan33 entiendo que al generar la etiqueta, ese texto se recorte por cuestiones de espacio, pero no importa tanto, lo principal es que me llegue a mi y yo lo puedo gestionar si fuera necesario.

También es cierto que después me he dado cuenta que había dos atributos "maxlength" en el archivo antes mencionado, uno de recogida y otro de entrega y yo modifiqué el de recogida, tal vez hubiera sido efectivo el cambio en observaciones de la entrega, pues es el afectado. No lo he comprobado pero ahí queda por si ha alguien le sirve.

Muy amables joseantgv y Prestafan33 y muchísimas gracias por vuestra valiosísima ayuda, realmente, era necesario. 

Sin más, doy el tema por solucionado y modifico el asunto para que conste.

Un afectuoso saludo.

Link to comment
Share on other sites

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