-
Notifications
You must be signed in to change notification settings - Fork 12
wooC 3.4.4 multiselect "Tipos de envíos soportados " no muestra items seleccionados (?) #100
Comments
EDIT: Acabo de revertir woocommerce a la version 3.4.2 y efectivamente el multiselect aparece bien (aunque las opciones en la BBDD se ven un poco cripticas en el sentido que de cierta forma parece estar grabado todo el array... allí no entiendo bien el mapping de la opcion a la página He abierto un Issue en WooCOmmerce por eso |
Se agradece la proeficiencia, estimado. Ojalá no hayan cambiado la API en WC no más. Ya pasó una vez con ese tipo de setting. |
hmmmm, parece que hay malas noticias... De WooCommerce me dicen, que el multiselect de atributos de producto funciona bien.
He podido verificar que efectivamente el multiselect de atributos de producto funciona, pero el del plugin no. |
estoy rastreando un poco el tema... https://docs.woocommerce.com/wc-apidocs/source-class-WC_Settings_API.html#700-752 puede estar allí el meollo... |
Para seguir probando tomé el codigo de la definición de la API oficial de woocommerce y lo mezcle con el multiselect... En este caso el multiselect se comporta bien... tambien le adjunté el mismo código de init_form_fields del plugin... y aún asi todo se comporta bien... PD: Esto no omite el caso, que en la selección inicial, efectivamente los default no se muestran bien... solo cuando los campos son sacados de la BBDD se muestran... |
puede ser... de hecho justo iba a revisar de eliminar el metodo |
ya... pues mientras le tengo una solución...
lo otro es que desde woocommerce me han indicado esto, puede que sea una alternativa forma de incluir el script: Try wrapping $('#woocommerce_chilexpress_shipments_types').selectWoo(); inside the wc_enqueue_js function and see if that makes a difference. |
No sabía que WC tiene un método wc_enqueue_js. De hecho, uso wp_enqueue_script que es nativo de WP, pero... WC tiene uno propio. No entiendo. Bueno saberlo, estimado. Bueno saberlo. El uso de https://docs.woocommerce.com/document/settings-api/#section-2 no está mal. El problema es el método validate_multiselect_field(). Solo sacándolo, los valores gaurdados en la DB vuelven a ser los correctos. |
Muy agradecido por la ayuda con el debug, estimado. Muy agradecido. V1.3.14 disponible en wp.org ya. |
De nada estimado... La inclusión del wc_enqueue_js simplemente ayuda a inyectar js solo en caso que el contexto sea woocommerce, en eso veo la ventaja. uno se ahorra la prueba dentro del js si el contexto es woocommerce. Sobreescribir el metodo: admin_options() solo lo hice, para re-asegurarme en las pruebas que la llamada a selectWoo() sea incluida al 100% dentro de ese contexto. PD: el otro PR ahora si puedo enviarlo de camino. Queria asegurarme que este problema no fuera un efecto colateral. |
PD: Acabo de ver el edit en whq_wccp_admin.js para la version 1.3.14
|
La verdad es que aún con el selectWoo() como estaba antes, seguía funcionando bien todo. Por ahora lo dejé así, a ver que ocurre; si no hay más reportes de errores. Si todo sigue bien, probablemente devuelva el selectWoo() a donde estaba antes nada más. Gracias nuevamente ;) |
de nada! ;) El metodo admin_options() es bien interesante, ya que permitiría personalizar el diseño de las opciones y ponerle literalmente más color y un layout individualizado (sobreescribiendo otros metodos como generate_settings_html(), generate_multiselect_html(), etc.) Saludos ;-) |
Desde ayer estoy viendo que el multiselect no muestra los valores por defecto ni los items seleccionados.
Acabo de hacer una instalacion limpia de wordpress 4.9.7 , con solo woocommerce 3.4.4, transbank y chilexpress shipping 1.3.13
A primera instancia el multiselect aparecia como simple dropdown, y al grabar me aparecia el campo en blanco, y se pueden re-añadir los tipos de envio de chilexpress, pero al grabar reaparece blanco.
Parece que los valores se graban en la BBDD ,pero como muestro mas abajo parece que no se graban bien tampoco.
podría jurar que hace poco se veía bien y tengo la leve sensación que el culpable es una actualización de woocommerce, ya que indagé el codigo y el multiselect queda conectado con una llamada a javascript.
Ademas me llama la atención, que aunque se seleccione solo dos items, el array en las opciones en la BBDD muestra esto:
s:15:"shipments_types";a:2:{i:0;i:3;i:1;i:4;}s:15:"locations_cache"
He intentado modificar el array manualmente pero eso parece que no ayuda...
Es decir es claramente un problema de woocommerce y no del plugin. queria solo indicarlo y para ver si alguien me puede confirmar el problema...
The text was updated successfully, but these errors were encountered: