Edlloro Posted February 9, 2021 Share Posted February 9, 2021 Buenas tardes, Estoy creando páginas php (con controllers y su correspondiente tpl) en las que quiero añadir un mapa con marcadores. He encontrado esta solución: https://programacion.net/articulo/google_maps_con_multiples_marcadores_y_ventana_de_informacion_mediante_la_api_v3_1738 El problema es que al ser código Javascript, al añadirlo al final de la página .tpl, no lo muestra y no crea el mapa. Lo he intentado incorporar en una página CMS, sospechando que no funcionaría. Y efectivamente, me daba errores y no podía guardar la página. ¿Alguna solución a mi problema? ¡Gracias de antemano! Link to comment Share on other sites More sharing options...
w3bsolutions Posted February 10, 2021 Share Posted February 10, 2021 Lo mejor sería que el código JS estuviera en ficheros .js y los cargaras en tus controllers sobreescribiendo la función `setMedia()` - es la manera oficial. Docu: https://devdocs.prestashop.com/1.7/themes/getting-started/asset-management/ Link to comment Share on other sites More sharing options...
w3bsolutions Posted February 10, 2021 Share Posted February 10, 2021 15 hours ago, Edlloro said: El problema es que al ser código Javascript, al añadirlo al final de la página .tpl, no lo muestra y no crea el mapa. Para que funcione, tienes que envolver el código Javascript con la etiqueta {literal} y entonces se cargará: https://www.smarty.net/docsv2/en/language.function.literal Link to comment Share on other sites More sharing options...
Edlloro Posted February 10, 2021 Author Share Posted February 10, 2021 Hola, Gracias por tus soluciones. He probado la segunda, porque me parecía más rápida (no dispongo ahora de mucho tiempo). La primera la probaré esta tarde. Meter el código dentro de {literal}, no me funciona. De hecho, me da el mismo error que ayer (adjunto captura de pantalla). No sé porque, al darle Guardar en la página CMS, me pone el literal dentro de un <p>... El código de la página CMS es sencillo: <div id="mapCanvas"></div> {literal} AQUI COPIO EL CÓDIGO DE LA PÁGINA DEL ENLACE QUE MANDÉ EN MI PRIMER MENSAJE {/literal} Pero el resultado es el que he comentado antes.... Link to comment Share on other sites More sharing options...
w3bsolutions Posted February 10, 2021 Share Posted February 10, 2021 Hola, con lo de {literal} me refería a ponerlo en una plantilla .tpl. Eso no funciona dentro de un CMS porque no lo interpreta como código. Link to comment Share on other sites More sharing options...
Edlloro Posted February 10, 2021 Author Share Posted February 10, 2021 Hola.... Lo probé también, y no me funcionó... No sé si me faltará especificar alguna cosa... Adjunto en un .rar tanto el controller como el tpl, por si ves el error.... Me muestra la página bien, pero no el mapa (no lo añade): https://muebles.tienda/prueba prueba.rar Link to comment Share on other sites More sharing options...
w3bsolutions Posted February 10, 2021 Share Posted February 10, 2021 1 hour ago, Edlloro said: https://muebles.tienda/prueba Puedes desactivar todas las cachés y compresiones de JS para ver qué se está cargando más fácil? P.S. Supongo que ya sabes que PrestaShop viene con un buscador de tiendas, no? Link to comment Share on other sites More sharing options...
Edlloro Posted February 10, 2021 Author Share Posted February 10, 2021 Hola... Cuando te he mandado el código, en el apartado de CONFIGURAR - "Parámetros Avanzados", tenía desactivada la Caché en la pestaña Smarty, la "Smart Caché" para las hojas de estilo en la pestaña CCC y la caché en la pestaña "Caché". Ahora también he desactivado "Smart Caché" para el código JavaScript y Optimización de Apache, en la pestaña CCC. No sé si necesitas que desactive alguna cosa más en otro apartado.... P.S. Sé que existe una página "Tiendas" que las muestra todas en una tabla. Pero en nuestro caso queremos que por cada provincia muestre esta página (es decir, un listado de las poblaciones en las que tenemos tienda y un mapa al lado con su localización). Este mapa, según tengo entendido, en Prestashop 1.7 lo han quitado, y es por eso por lo que estoy peleando... Ya luego, si le das a una de las poblaciones de la lista, te manda ya a una página en la que aparece las tiendas sólo de esta población. Link to comment Share on other sites More sharing options...
Edlloro Posted February 12, 2021 Author Share Posted February 12, 2021 Buenos días... ¿Alguna sugerencia? Gracias... Link to comment Share on other sites More sharing options...
Edlloro Posted March 1, 2021 Author Share Posted March 1, 2021 Hola de nuevo... Al final, como no conseguía meter código JavaScript en las páginas, he optado por hacer uso del módulo "ContentBox". De esta forma, y añadiendo el hook en la página correspondiente, sí que puedo meter el mapa. El problema con el que me encuentro ahora es que si intento meter un mapa con marcadores personalizados, me sale un error sobre el mapa que me indica "Esta página no puede cargar Google Maps correctamente. ¿Eres el propietario del sitio web?". Os envío el enlace a la página de prueba: https://muebles.tienda/prueba Al hacer clic sobre ello, me muestra dos soluciones principales: - Crear una API KEY -> la tenía creada desde el principio... - Crear una cuenta de facturación asociada -> la he creado, asociada a la API Key anterior, pero el error me sigue apareciendo. ¿Alguien se ha encontrado con este error en los mapas de Google? ¿Lo ha podido solucionar de alguna forma? Agradecería mucho vuestra ayuda. Saludos! Link to comment Share on other sites More sharing options...
w3bsolutions Posted April 1, 2021 Share Posted April 1, 2021 Disculpas, he estado desconectado del foro un tiempo, sólo entro de vez en cuando... Con respecto a tu último problema, estás incluyendo la API key en la URL al cargar el JS de Google Maps? Link to comment Share on other sites More sharing options...
w3bsolutions Posted April 1, 2021 Share Posted April 1, 2021 On 2/10/2021 at 5:36 PM, Edlloro said: P.S. Sé que existe una página "Tiendas" que las muestra todas en una tabla. Pero en nuestro caso queremos que por cada provincia muestre esta página (es decir, un listado de las poblaciones en las que tenemos tienda y un mapa al lado con su localización). Este mapa, según tengo entendido, en Prestashop 1.7 lo han quitado, y es por eso por lo que estoy peleando... Ya luego, si le das a una de las poblaciones de la lista, te manda ya a una página en la que aparece las tiendas sólo de esta población. Si te puedo dar mi humilde opinión, sin conocer vuestros requisitos en detalle, como experiencia de usuario tener tantas páginas con mapas (por provincia, luego por población) es bastante lío y difícil de navegar, sobre todo si el usuario quiere buscar en una provincia y luego en otro. No sería más sencillo tener un buscador normal para todas las tiendas, y quizás un filtro pro provincia o algo así pero que el usuario no tenga que ir de una página a otra? Sólo mi granito de arena... P.S. Tienes módulos gratis para añadir el mapa a la página de las tiendas de Prestashop 1.7. 1 Link to comment Share on other sites More sharing options...
Edlloro Posted April 1, 2021 Author Share Posted April 1, 2021 Hola! Tranquilo, no hay problema.... La API Key sí que la estaba introduciendo, pero me seguía dando el error... Finalmente, creo que optaremos por el mapa que comentas tu.... Yo también lo veo más útil, pero claro, a mi cliente le parecía mejor idea la otra.... Poner la provincia, un radio de kilómetros y que te muestre las tiendas cercanas, tampoco es tan mala opción. Lo que tu comentas, poniéndose en la parte del usuario, puede ser mucho más sencillo de usar... Gracias por el aporte!! Link to comment Share on other sites More sharing options...
w3bsolutions Posted April 1, 2021 Share Posted April 1, 2021 Desde mi experiencia, sólo me sale ese mensaje de error cuando: 1) Falta la clave API en la URL de carga del JS de Google Maps 2) Falta asignar un método de pago al proyecto 3) Están mal configurados los dominios que pueden utilizar dicha clave API (por ejemplo, falta añadir con o sin www y estás usando justo el que falta) Lo de poner un filtro por provincia con un selector de radio me parece buena idea, pero siempre dentro de la misma página todo... Un saludo. Link to comment Share on other sites More sharing options...
Edlloro Posted April 1, 2021 Author Share Posted April 1, 2021 Hola! Pues en un principio, los tres pasos están hechos, por eso me resulta tan extraño todo.... Sí sí, mi idea es ponerlo en una misma página. Así, como dices, se facilita la búsqueda y la navegación al usuario. Mil gracias! Saludos!! 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