whooohq/whq-woocommerce-chilexpress-shipping

Selector de ciudades muestra [Object object]

pckz opened this issue · 26 comments

pckz commented

Hola! Primero, gracias por el plugin!

Estoy teniendo problemas, ya que no se me muestran correctamente las comunas. Anteriormente tenia habilitado el plugin Comunas y regiones de Chile, ya está deshabilitado. Al igual que "Flexible Checkout Fields".

Al cambiar el ambiente a QA, se me muestra solamente algunas comunas, por lo que leyendo issues, hice lo siguiente: cambiar ambiente a WS PROD, borrar transients que empiecen por whq_wcchp

Primero, es raro que te pida la región (y sea un input type text, y no un select), y 2 es mas raro aún que Localidad/Ciudad esté con un spinner infinito, hasta que hayas escrito cualquier cosa en región, y que región esté después de la comuna. Debería estar antes, ya que te topas con un spinner entremedio que debes saltar, y después volver

El problema es que luego de escribir cualquier texto en región, carga las comunas y muestra solo [Object object], al parecer hay un problema de como carga la info que viene de API

Dejo dos capturas, gracias!

Captura de Pantalla 2022-01-03 a la(s) 11 22 38

Captura de Pantalla 2022-01-03 a la(s) 11 28 39

Actualiza a la versión 1.4.42, por favor.
Me avisas, please.

Gracias.

pckz commented

@TCattd aún no disponible en wordpress, me imagino que tengo que esperar! gracias

Nunca se demora tanto. Va una hora ya.

Déjame hacer un bump a la versión 1.4.43

Listo. Y lo veo disponible en breve en https://wordpress.org/plugins/woo-chilexpress-shipping/

La anterior debió haber quedado pegada en los repos de wp.org, vaya uno a saber por qué.

Actualiza ahora, por favor. v1.4.43

pckz commented

Actualizado a 1.4.43, sin embargo sigue apareciendo [Object object]

Se borro caché, se regeneraron archivos de elementor, se eliminó trasients relacionados, y sigue pasando lo mismo :(

Puedes probar en vivo acá: https://www.smarthomy.com/tienda/

Captura de Pantalla 2022-01-03 a la(s) 13 16 22

]

Estimado,

La última versión siempre está disponible en https://wpchilexpress.whooohq.com/
Y como ves, está funcionando sin problemas con la última versión de WooCommerce.

Ahora, lo crítico es esto:
https://i.imgur.com/tVHxk84.png
No había visto que lo mencionaste en el issue inicialmente. Disculpa.

Por favor, sigue estos pasos para descartar que el problema sea de tu instalación o set de plugins/theme:
https://github.com/whooohq/whq-woocommerce-chilexpress-shipping#problemas-generales-visuales-glitches-yo-funcionales-en-el-carro-o-finalizar-compra-checkout

Me avisas como te va, por favor.

Hola JCattd, muchas gracias por la ayuda. Yo tengo el mismo problema. Seguí todos los pasos del enlace, desinstalé incluso todos los temas. Creo que el problema va, ya que lo que tenemos en común con pckz, aparte del error, es que ambos habíamos instalado con anterioridad, el plugin Comunas y regiones de Chile. En mi caso, una vez que me dice undefined, si le doy a actualizar al sitio, luego se ve bien.. Active el modo depuración y me salto esa linea.

Warning: A non-numeric value encountered in /home/hypefragrances/public_html/wp-content/plugins/woo-chilexpress-shipping/classes/WC_WHQ_Chilexpress_Shipping.php on line 462

Hasta allí llega mi conocimiento, no se si puedas ayudar en algo para saber como solucionarlo.

image

Muchas Gracias =)

Gracias por los datos, @egaz-chile

Tu problema del "A non-numeric value encountered" ya ha sido comentado antes. Ver, por favor:
#162 (comment)
Ahí mismo la solución.

Sobre lo de los plugins de comunas y regiones de Chile:
No había notado ese tip tampoco. Gracias por hacerlo notar.
Es casi seguro que el problema está ahí.

Es por eso que varios de esos plugins están directamente agregados como incompatibles en #18
Y cuando los detectamos, mostramos un aviso al respecto.

Puede que falten plugins de Comunas y/o Regiones de Chile en ese listado, pero la advertencia del uso de ellos es la misma para todos:

El principal problema es que esos plugins modifican la salida de los campos de State y City de WooCommerce.

Chilexpress en su API requiere que las regiones y ciudades de Chile vengan en X formato. O su API no las entiende.

Como sabemos que modificar la salida del checkout de WooCommerce no es lo ideal (alterando cualquier campo en el), precisamente por los problemas de compatibilidad que eso puede generar con otros plugins de terceros, es que nosotros evitamos modificar la salida de esos campos en el backend (PHP), y solo nos metemos con ellos vía JS una vez que WC ya ha generado y mostrado esos campos en el front. De esa forma, los campos que WC espera al mostrar el checkout y terminar una compra, se mantienen tal cual como WC dice que deben venir. No se si me explico.

Cuando instalan un plugin para agregar las comunas y/o regiones de Chile, estos generalmente modifican la salida de los campos de State y City antes que sean mostrados, directo en el backend. Si bien usan hooks que WC mismo provee para eso, las modificaciones para agregar esas regiones y/o ciudades, terminan por volver el campo algo distinto al default de WC y, por ende, cualquier intento de trabajar con esos campos a posterior, es dificil o imposible (no nos podemos adelantar o adecuar a cada plugin o implementación de ese tipo para las comunas y/o regiones de Chile), más aún considerando lo expuesto antes, que es que la API de Chilexpress requiere que esas comunas y/o regiones de Chile vengan en el formato que ellos quieren.

Esto se volvió un problema más grande con WC 6.0, puesto que desde esta versión de WC, ahora se incluyen las regiones de Chile directamente por defecto en WC. No hay necesidad de instalar ningún plugin extra, para que WC muestre las regiones de Chile al seleccionar a Chile en el checkout.

Algunos plugins para agregar comunas y/o regiones de hecho alteran igual el campo de regiones, y ponen sus valores personalizados para los nombres de las regiones. Cosa que a WC 6.0 (o superior) no le gusta. No valida.

Validación que se puede saltar, por cierto, pero que no deberían hacer estos plugins (y ninguno). Lo digo a tono personal.
De verdad creo que no se debería modificar las salidas default de WC, o hacerlo lo menos posible, precisamente por evitar introducir bugs en WC o incompatibilidades con WC mismo a futuro o plugins de terceros (que sabemos todos que son vitales para el uso y extensión de WC).

Lo que hicimos, precisamente para NO modificar WooCommerce (lo reitero, no es nuestra idea molestar a ningún otro plugin de tercero, ni a WC mismo), fue simplemente aceptar esos nombres y valores para las regiones de Chile que WC ahora trae por defecto.

Luego, en nuestro plugin, al cambiar la región, nosotros tomamos ese valor que el usuario seleccionó, y se traduce a lo que la API de Chilexpress necesita para consultar por esa región.

Por eso existe esto en el JS del checkout del plugin nuestro: https://github.com/whooohq/whq-woocommerce-chilexpress-shipping/blob/master/assets/js/whq_wcchp_checkout.js#L22

A modo de ejemplo, WC le da el valor "CL-ML" a la región del Maule. Pero para Chilexpress y su API, la región del Maule es "R7". Ese array tiene esos valores, para traducir lo que WC devuelve y poder usarlo con la API de Chilexpress.

Eso, estimados.
Lo siento por alargarme tanto.

El resumen es: este plugin no va a funcionar con ningún plugin que altere y agregue las comunas y las regiones de Chile (mucho menos ahora que WC 6.0 incluye las regiones por default).

Deben desactivarlos, si desean utilizar el plugin de Chilexpress que entregamos acá.

Esteban

Gracias por la respuesta. Lamentablemente, no se soluciona el problema.
Agregué dimensiones y peso a un par de productos para probar con ellos, y el resultado es el mismo.

image

Ojo, yo tengo super claro que el problema no es del plugin, y tiene que ver con la instalación previa del otro plugin. Lo sé, ya que hago sitios web para clientes, y tengo fácil más de 50 sitios con Chilexpress funcionando sin problemas. Es solo que este sitio en particular, no sé como arreglarlo. Me interesa aprender, ya que en otra oportunidad me paso lo mismo, pero al ser un sitio casi en blanco, lo hice desde cero y listo. Borrando absolutamente todo (eliminando la instalación completa desde cpanel).

Debe haber algún archivo que se modifico con la instalación de plugins anteriores, y de seguro aún cuando se elimino el plugin quedo diferente.

Lo más extraño de todo esto, es que si estando en la página de checkout, le doy a "actualizar al sitio" (f5) luego de cargar el checkout si funciona... Claro que no es una solución real para el cliente...

image

Si pudieras tener una idea de que archivos puede haber modificado el plugin anterior, te lo agradecería... Para entrar y meterle mano.

O lo otro seria remplazar esos archivos desde otro sitio que este funcionando ok, o desde una instalación limpia. El tema, es que no sé cuales son los archivos en cuestión como para remplazarlos.

Muchas gracias por tu ayuda.
Atte.

Ega Correa

@egaz-chile el colocar el peso y tamaño de los productos, no va a resolver el problema de las localidades no mostradas.
Solo resuelve el otro problema que comentaste, que, para aclarar, no tiene nada que ver con el inconveniente de las localidades que están comentando acá.
La instrucción dada (agregar peso y tamaño en tus productos) solo resuelve el error "A non-numeric value encountered".
Ojo con eso, please.

No prometo nada (por tiempo), pero si me das la URL del sitio ese donde tienes problemas (el de los pantallazos), quizás pueda ver que puede estar pasando.

Puede ser en privado si quieres: esteban (arroba) actitud.xyz

Esteban

Muchas gracias Esteban, correo enviado.
un saludo

TCattd, hola nuevamente! Lo logré "solucionar" y creo que es un problema de compatibilidad de la ultima versión de woocomerce.

En resumen, no sé cual es el problema, pero como llevo otros sitios, entre a revisar 4 sitios con Chilexpress, y en 3 funcionaba perfecto, y en 1 tenia el mismo error. Undefined.. Revisando, este ultimo sitio tenia la versión 6.0 de woocommerce así como la ultima versión del plugin de Chilexpress.
Lo que hice fue descargar la carpeta de Woocomerce y del Woo Chilexpress desde el cpanel de uno de los sitios que funcionaba bien, y las remplace en el sitio con problemas.

Version descargada
Instale Woocommerce Versión 5.3.1
Chilexpress Versión 1.4.35

Lamento no poder aportar mayor información, ya que como te comentaba no me manejo mucho y no cacho nada de código como para saber que es lo que estaba mal, pero con esas versiones de woocommerce y del plugin, al parecer esta funcionando sin problemas.

Espero le sirva de ayuda a pckz.

Un saludo y nuevamente muchísimas gracias por tu ayuda

@egaz-chile gracias por el comentario.
Ahora ojo, lo que muestras como solución, ese "downgrade" de WooCommerce y el plugin este, es un parche temporal que, sin dudas, te va a poner en problemas a futuro.

Una, por compatibilidad. Otros plugins que dependen de WC, seguirán actualizándose y eventualmente dejarán de dar soporte a versiones antiguas de WC. Tu theme también puede caer en esa categoría.

Dos, por seguridad. Y esto es crítico. Al negar actualizaciones de WC, estás poniendo a ese cliente en un riesgo de seguridad latente.

Eso sin contar que del paso de WC 5.x a WC 6.x, hubo cambios en la DB de WC. Cambios que no son reversibles, a menos que hayas guardado una copia de la DB anterior al upgrade de WC 6.x. Si no devolviste la DB a su estado previo al update de WC 6.x, espera encontrar problemas a futuro con la info o transacciones de WC en general. Cosa que igual puede ser crítica, dependiendo del cliente.

En tu caso particular, deberías pegarle una mirada al theme. Como te dije por interno vía email, tu theme tiene un problema de JS sin resolver, que es probable que sea la causa del quiebre y el porqué el carro y el checkout (que es donde salta ese error) no estén funcionando como corresponde.

Eso, estimado. Para que quede claro.
No le recomiendo a nadie ese camino del downgrade. Mucho menos considernado que estás bajando una versión mayor de WC al hacerlo.

Esteban

Tengo el mismo problemas, las ciudades ya no están, aparecen como IDEFINIDAS y me está haciendo los pagos igual sin tener en cuenta el cobro de Chilexpress, deja pasar a pago directamente al seleccionar la ciudad UNDEFINED.

al seleccionar la ciudad UNDEFINED (que es la única disponible en todas las regiones) el costo de envio es 0 y deja hacer la compra.

vitaminico

@Vitaminicochile ¿versión de WordPress, WooCommerce y el plugin de Chilexpress? por favor.

Además, realizar estos pasos https://github.com/whooohq/whq-woocommerce-chilexpress-shipping#problemas-generales-visuales-glitches-yo-funcionales-en-el-carro-o-finalizar-compra-checkout y reportar de vuelta como les fue con eso, por favor.

Gracias.

@Vitaminicochile estimado, creo que tienen un error en la versión de WordPress. No creo que sea la 3.x

Verificar, por favor.
El plugin, ni WooCommerce, funcionan con esa versión de WordPress.

Además, realizar los pasos acá descritos https://github.com/whooohq/whq-woocommerce-chilexpress-shipping#problemas-generales-visuales-glitches-yo-funcionales-en-el-carro-o-finalizar-compra-checkout y reportar como les va, por favor.

Gracias.

Esteban

@Vitaminicochile ¿versión de WordPress, WooCommerce y el plugin de Chilexpress? por favor.

Además, realizar estos pasos https://github.com/whooohq/whq-woocommerce-chilexpress-shipping#problemas-generales-visuales-glitches-yo-funcionales-en-el-carro-o-finalizar-compra-checkout y reportar de vuelta como les fue con eso, por favor.

Gracias.

Hace 1 año que uso el plugin en producción y nunca presentó este problema, recien este lunes que instalé la nueva versión empecé con e problema, la lógica me indica que el problema no está en el resto de mi configuracíon, yo no hice ningún otro cambio.

Como puedo hacer para instalar la versión anterior, la que estaba operativa la semana pasada? por favor!

@Vitaminicochile estimado, primero que todo, lo que voy a comentar ahora es con mucho respeto. Espero se comprenda así. Paciencia y comprensión, por favor.

Ahí voy:

Intenta ingresar al hilo del tema en tu navegador, y preparar tu respuesta con calma, ojalá en un solo comentario.
Esto reduce considerablemente el ruido para todos los que participamos en el hilo.
Por favor.

Ahora, si comento que por favor realices estos pasos en la URL entregada https://github.com/whooohq/whq-woocommerce-chilexpress-shipping#problemas-generales-visuales-glitches-yo-funcionales-en-el-carro-o-finalizar-compra-checkout es porque generalmente el problema es de incompatibilidad con un theme o plugin de tercero.

Ignoro aún que es lo que falla para quien inició el issue. Aún espero que reporte de vuelta con la prueba solicitada.
Pero la segunda persona en sumarse, a aquella que le ofrecí enviarme info por email, confirmé por interno que el problema era su theme.
Esta persona optó por hacer un peligroso downgrade, cosa que no recomiendo en lo absoluto. Los motivos ya los entregué más arriba. El downgrade no resuelve el problema. Con el, se echan un nuevo problema en la espalda. Por eso no puedo recomendarlo.

Como dato: las versiones antiguas de todo plugin ofrecido en wordpress.org están en la misma página del plugin. Si no me equivoco, en la pestaña de avanzadas. Al final abajo, hay un select para bajar versiones anteriores.

Sin embargo, el usar una versión antigua no resolverá vuestro problema, porque las versiones antiguas de este plugin (que desarrollamos acá) no son compatibles con los cambios que WooCommerce introdujo en su versión 6.0

Agrego,

Este plugin que ven acá, mantiene una versión de pruebas en vivo y que se auto actualiza siempre a la última versión de WordPress, WooCommerce, Storefront y el plugin mismo que hacemos acá.

Esa versión de pruebas la pueden ver acá: https://wpchilexpress.whooohq.com/

Al día de hoy, funciona sin inconvenientes. Sin problema de compatibilidad con el último WordPress, WooCommerce y el theme Storefront.

Personalmente uso este mismo plugin en unas decenas de sitios más (como dev, no tiendas mías). Y en todos los que lo utilizo, está funcionando sin problemas también.

Habiendo reiterado todo esto, solo queda decir:

Por favor, si desean que los asista, ayuden también cuando se les solicita mayor información.

En este caso en particular, es necesario que hagan la prueba que dejó acá https://github.com/whooohq/whq-woocommerce-chilexpress-shipping#problemas-generales-visuales-glitches-yo-funcionales-en-el-carro-o-finalizar-compra-checkout puesto que descarta todo factor externo.

No se los pido por molestarlos.
Se los pido para descartar cosas que, al menos en lo que compete al soporte gratuito que damos acá, para este plugin también gratuito, escaparían a lo que nos corresponde solucionar.

Si habiendo seguido esos pasos (al pie de la letra), aún presentan problemas, entonces veremos cómo avanzamos juntos para averiguar y resolver el problema que puedan estar teniendo, y si corresponde o no a un problema de este plugin o de un tercero (un theme, otros plugins).

Espero se comprenda todo lo comentado acá, estimado. Como dije en un inicio: paciencia y comprensión, por favor.

Gracias por el tiempo y la atención. Quedo atento.

Esteban

estimado

Muchas gracias Esteban. No tengo mucha experiencia en estos temas y no sabía que al responder el correo se verían reflejadas las respuestas acá, lo siento. Mantendré más concisas mis respuestas de ahora en adelante.

Haré las pruebas solicitadas y te daré los resultados. Muchas gracias!

Storefront

Esteban, ya realicé todos los pasos solicitados, incluso cambie mi Theme a Storefront para que fuera todo igual al sitio de prueba pero nada funciona. Como dijo el amigo que hizo el reporte inicialmente, solo con F5 se soluciona el problema.
Muchas gracias!

Estimados,

Actualicen a la versión 1.4.44 y prueben, por favor.
Me avisan como les va. Gracias.

Esteban

Confirmo que en el sitio de un cliente, tras actualizar a la versión Versión 1.4.45, con wooo 6.0, se solucionó el problema. Voy a probarlo en el sitio que estoy trabajando ahora y confirmo. Solo que en ese caso debo hacer una copia de seguridad antes para evitar el downgrade de woocommerce.