yerayzl Posted May 27, 2022 Share Posted May 27, 2022 Hola buenas, me interesa cambiar el icono de añadir al carro en la lista de productos que se cargan, se me ocurrió hacerlo con jquery. Y se ve así, que es lo que me interesa: Lo que ocurre es que cuando carga más productos, lo hace desde php añadiendo al enlace la variable "?page=2" y según hay más va cambiando. Entonces el jquery no lo aplica a partir de la hoja 2 en adelante porque lo carga php. Y se ve así: Como se ve en la imagen cambia el icono al original de la plantilla. Entonces he supuesto que lo mejor sería cambiarlo directamente en el archivo que lo genera. Pero no sé qué archivo es. Supongo que será la ruta: Raiz/themes/eltema/templates/catalog/ Pero de ahí ya no sé seguir... Si me podeis echar una mano, o si se os ocurre una alternativa, gracias. Link to comment Share on other sites More sharing options...
david19942 Posted May 27, 2022 Share Posted May 27, 2022 Buenos días @yerayzl, pásame el enlace a tu web y te digo donde esta situado. Un saludo! Link to comment Share on other sites More sharing options...
yerayzl Posted May 27, 2022 Author Share Posted May 27, 2022 6 minutes ago, david19942 said: Buenos días @yerayzl, pásame el enlace a tu web y te digo donde esta situado. Un saludo! https://antharescosmetics.es/clonado/ Link to comment Share on other sites More sharing options...
SAKSCM Posted May 30, 2022 Share Posted May 30, 2022 Hola, No se exáctamente cuando se te cambia al original yo he añadido varios productos y siempre me sale el que has puesto primero. No obstante, por que con JQuery y no con CSS, los cambios de estilo son siempre mejor hacerlos con CSS que con cualquier otra cosa y si lo haces correctamente no debería fallar. En cuanto al archivo php que genera la lista de productos, salvo que tu plantilla lo tenga con una estructura diferente Raiz/themes/eltema/templates/catalog/listings/product-list.tpl Un saludo. 1 Link to comment Share on other sites More sharing options...
yerayzl Posted May 31, 2022 Author Share Posted May 31, 2022 11 hours ago, Sakura_CM said: Hola, No se exáctamente cuando se te cambia al original yo he añadido varios productos y siempre me sale el que has puesto primero. No obstante, por que con JQuery y no con CSS, los cambios de estilo son siempre mejor hacerlos con CSS que con cualquier otra cosa y si lo haces correctamente no debería fallar. En cuanto al archivo php que genera la lista de productos, salvo que tu plantilla lo tenga con una estructura diferente Raiz/themes/eltema/templates/catalog/listings/product-list.tpl Un saludo. Lo que hice con jquery es lo siguiente: $(document).ready(function () { //código carrito(); }); //Más código... function carrito() { $(".shopping-cart").remove();//elimino el carrito $(".tema-cart-content").html("<span class='textocarrito'><i class='fas fa-cart-plus'></i></span>");//lo reemplazo con html $(".tema-bt-cart").html("<span class='textocarrito'><i class='fas fa-cart-plus'></i></span>");//intenté hacerlo con esta clase que es la que se genera, pero nada } Link to comment Share on other sites More sharing options...
yerayzl Posted May 31, 2022 Author Share Posted May 31, 2022 (edited) 1 hour ago, yerayzl said: Lo que hice con jquery es lo siguiente: $(document).ready(function () { //código carrito(); }); //Más código... function carrito() { $(".shopping-cart").remove();//elimino el carrito $(".tema-cart-content").html("<span class='textocarrito'><i class='fas fa-cart-plus'></i></span>");//lo reemplazo con html $(".tema-bt-cart").html("<span class='textocarrito'><i class='fas fa-cart-plus'></i></span>");//intenté hacerlo con esta clase que es la que se genera, pero nada } Vale ya lo he solucionado, el problema era que lo comprobaba cuando cargaba la página, por lo tanto cuando se generaba más código, no lo cargaba. Ahora lo compruebo cuando hace scroll. Y funciona bien. let lastScroll = $(window).scrollTop(); $(window).scroll(function() { const currentScroll = $(window).scrollTop(); if (currentScroll > lastScroll){ carrito(); } lastScroll = currentScroll <= 0 ? 0 : currentScroll; }); Edited May 31, 2022 by yerayzl (see edit history) Link to comment Share on other sites More sharing options...
SAKSCM Posted May 31, 2022 Share Posted May 31, 2022 (edited) Hola, Estupendo que lo hayas podido solucionar De todas formas sigo sin entender por qué usar jquery cuando se puede hacer más fácil con css además de no tener que preocuparse de si carga código antes o después etc además de ser más óptimo. Pero si te funciona y a ti te vale así, perfecto Un saludo Edited May 31, 2022 by Sakura_CM (see edit history) Link to comment Share on other sites More sharing options...
yerayzl Posted May 31, 2022 Author Share Posted May 31, 2022 (edited) 1 hour ago, Sakura_CM said: Hola, Estupendo que lo hayas podido solucionar De todas formas sigo sin entender por qué usar jquery cuando se puede hacer más fácil con css además de no tener que preocuparse de si carga código antes o después etc además de ser más óptimo. Pero si te funciona y a ti te vale así, perfecto Un saludo Porque cambiar texto, imagen, icono (en mi caso utilizo la fuente de font awesome) en ccs creo que no se puede😅, como mucho el fondo.🤷♀️ Supongo que se podría ocultar el icono y cambiar la imagen de fondo o algo así... Si quieres, puedes sugerirme como lo hiciste tú, y así lo hago con css, que así será de forma más correcta. Edited May 31, 2022 by yerayzl (see edit history) Link to comment Share on other sites More sharing options...
SAKSCM Posted June 1, 2022 Share Posted June 1, 2022 21 hours ago, yerayzl said: Porque cambiar texto, imagen, icono (en mi caso utilizo la fuente de font awesome) en ccs creo que no se puede😅, como mucho el fondo.🤷♀️ Supongo que se podría ocultar el icono y cambiar la imagen de fondo o algo así... Si quieres, puedes sugerirme como lo hiciste tú, y así lo hago con css, que así será de forma más correcta. Hola, Si se puede, para cambiar el texto puedes usar la propiedad content, la imagen/icono/texto fontawesome de los iconos está puesta de hecho con css y se puede modificar usando la propiedad content para cambiar el código del font awesome, no es necesario cambiarle la clase, solo el icono, así es como lo suelo hacer yo, salvo que no haya entendido bien tu problema y quisieras otra cosa. CSS es potente, si se sabe usar, casi cualquier cambio estético/visual, por no decir todos, de la web, incluso ciertas animaciones, se pueden hacer usando solo css. Ahora si lo que quieres es cambiar el DOM entonces si necesitas JS, pero si no es un cambio que necesites hacer de forma dinámica (interacción del usuario/navegador) como este caso y no quieres usar CSS es mejor hacer el cambio directamente en el fichero, el código php/tpl ya que a fin de cuentas añadir código js te amplia la carga de la pagina, por muy leve que sea (sumado a todas las cargas leves hace un mucho) y te da quebraderos de cabeza a veces (como te pasó) No es que no puedas, ya ves que si has podido, es más que nada por optimizar y hacer buenas prácticas, pero para gustos los colores Un saludo. Link to comment Share on other sites More sharing options...
yerayzl Posted June 1, 2022 Author Share Posted June 1, 2022 (edited) 4 hours ago, Sakura_CM said: Hola, Si se puede, para cambiar el texto puedes usar la propiedad content, la imagen/icono/texto fontawesome de los iconos está puesta de hecho con css y se puede modificar usando la propiedad content para cambiar el código del font awesome, no es necesario cambiarle la clase, solo el icono, así es como lo suelo hacer yo, salvo que no haya entendido bien tu problema y quisieras otra cosa. CSS es potente, si se sabe usar, casi cualquier cambio estético/visual, por no decir todos, de la web, incluso ciertas animaciones, se pueden hacer usando solo css. Ahora si lo que quieres es cambiar el DOM entonces si necesitas JS, pero si no es un cambio que necesites hacer de forma dinámica (interacción del usuario/navegador) como este caso y no quieres usar CSS es mejor hacer el cambio directamente en el fichero, el código php/tpl ya que a fin de cuentas añadir código js te amplia la carga de la pagina, por muy leve que sea (sumado a todas las cargas leves hace un mucho) y te da quebraderos de cabeza a veces (como te pasó) No es que no puedas, ya ves que si has podido, es más que nada por optimizar y hacer buenas prácticas, pero para gustos los colores Un saludo. Hola de nuevo, siento ser tan pesado, pero quiero hacerlo de la mejor forma, como me indicas. Lo intento, comenté el JQuery y probé con css, pero se queda vacio, no sé si es eso a lo que te referías. Si pongo otra cosa que no sea un icono de font awesome, si que funciona, pero me interesa ese icono... Edited June 1, 2022 by yerayzl (see edit history) 1 Link to comment Share on other sites More sharing options...
SAKSCM Posted June 1, 2022 Share Posted June 1, 2022 33 minutes ago, yerayzl said: Hola de nuevo, siento ser tan pesado, pero quiero hacerlo de la mejor forma, como me indicas. Lo intento, comenté el JQuery y probé con css, pero se queda vacio, no sé si es eso a lo que te referías. Si pongo otra cosa que no sea un icono de font awesome, si que funciona, pero me interesa ese icono... Hola, Te falta incluir el fontawesome, posiblemente esa clase tenga otro tipo de fuente puesta. 1 Link to comment Share on other sites More sharing options...
yerayzl Posted June 1, 2022 Author Share Posted June 1, 2022 24 minutes ago, Sakura_CM said: Hola, Te falta incluir el fontawesome, posiblemente esa clase tenga otro tipo de fuente puesta. Vale, ya me funciona. Muchísimas gracias por tu buena aportación. 1 Link to comment Share on other sites More sharing options...
SAKSCM Posted June 1, 2022 Share Posted June 1, 2022 (edited) 2 minutes ago, yerayzl said: Vale, ya me funciona. Muchísimas gracias por tu buena aportación. Me alegro! Un placer Ya ves que es más sencillo, rápido y eficaz Edited June 1, 2022 by Sakura_CM (see edit history) 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now