
OPS
Members-
Posts
39 -
Joined
-
Last visited
Everything posted by OPS
-
I hope this post can help you http://nemops.com/prestashop-top-menu-current-state/ Best regards,
- 3 replies
-
- parent category;
- active state
- (and 3 more)
-
Si pero no veo dónde, en qué lineas de código, se están comprobando el nombre y apellidos por ejemplo. Agradecería detalle.
-
Amigos, que tal? En la página de registro de prestashop, en la que el usuario deja sus datos por primera vez, si no completo ningún campo y le doy al botón de registro "Registrarse" aparecen los errores correspondientes a los campos obligatorios. Pues bien, estos mensajes no aparecen en el orden en el que aparecen los campos en el formulario. Es decir, en el formulario aparecen los campos en el siguiente orden: 1.- Nombre 2.- Apellidos 3.- Correo electrónico 4.- Contraseña . . . Sin embargo, cuando muestra los errores estos aparecen en el siguiente orden 1.- Apellidos 2.- Contraseña 3.- Nombre 4.- Email . . . Quisiera modificar el código para que estos mensajes aparecieran en el orden coherente con el formulario. He visto que algunos de los mensajes los puedo ordenar directamente en el fichero authcontroler.php pero no veo donde ordenar por ejemplo el mensaje correspondiente a nombre y apellidos. Desde ya, gracias por vuestra ayuda.
-
Vaya parece que esta se resiste!!! GRacias de todas formas.
-
Vamos chicos, si alguien me ayuda lo tomaré como mi regalo de papá noel :-) Muchas gracias.
-
Queridos amigos Recurro nuevamente a vosotros para solicitar vuestra ayuda. En este caso el problema es el siguiente: He generado un menú vertical alternativo al de las categorías, de manera que cuando se carga la página de la tienda por primera vez no aparecen las categorías sino un menú con opciones para ver información de la empresa, os adjunto imagen. En la parte superior de la página veréis que hay un menú vertical en el que podéis ver tres opciones. Una para ver información de la empresa y otras dos para comprar. Al elegir una de estas dos "compra online" o "compra para recoger en tienda" es cuando se muestra el menú vertical de las categorías de productos, en otro caso se mostrará el menú alternativo que os comentaba. Pues bien, cuando se muestra el menú vertical de las categorías de producto y selecciono una categoría se destaca un rojo la categoría seleccionada. Sin embargo cuando hago esto mismo sobre una de las opciones del menú vertical que hemos creado con información de la empresa no se destaca la opción seleccionada. Pues eso, que no me detecta o no sé por qué no me funciona el "a.selected" en el caso del menú vertical alternativo. Os adjunto una imagen correspondiente al caso en el que si que funciona para que podáis ver las diferencias con la previa en la que no funcionaba. En ambas tenéis la información que aporta firebug. Además os dejo un link a la página de pruebas http://www.chapaypin...ms.php?id_cms=8 Veréis que en teoría en ambos casos está tirando de las mismas clases y por lo tanto del mismo css. Muchas gracias por adelantado.
-
[SOLUCIONADO] Recoger valor campo formulario en product-list.tpl
OPS replied to OPS's topic in Discusión general
Bueno, pues hemos solventado el tema haciendo sendas modificaciones en la función que realiza el cálculo y en el propio formulario. El problema radicaba en que estabamos llamando siempre al mismo formulario y por eso no funcionaba correctamente. Cada formulario de los que se generan en la página debe tener un nombre claramente diferenciado, hemos utilizado como veréis el propio nombre el producto, podría haber sido el id o cualquier otro que sepamos que no se va a repetir en el listado. Aquí está el código del formulario <form id="calcula_precio" name="{$product.name}"><p> <input type="text" name="coste" readonly="true" id="Precio" value="{$product.price}" maxlength="5"/> </p><br /> <p>X <input name="peso" type="text" id="quantity_wanted_{$product.id_product|intval}" onkeyup="multiplicar('{$product.name}');" value="0.0" maxlength="3" autocomplete="off"/> </p><br /><p>= <input type="text" name="total" id="resultado" value="0.00" /> </p> <br /> <p> <label> <a class="button ajax_add_to_cart_button exclusive" onClick="$.fancybox.close();" rel="ajax_id_product_{$product.id_product|intval}" title="{l s=' Añadi'}">{l s='Comprar solo producto'} </a> </label> </p> </form> Y aquí el de la función <script type="text/javascript"> {literal} function multiplicar(formulario) { var f = document.forms[formulario]; m1 = parseFloat((f.coste.value).replace(",",".")).toFixed(2); m2 = ((f.peso.value).replace(",",".")); f.peso.value = m2; r = parseFloat(m1*m2).toFixed(2); f.total.value = r; } {/literal} </script> Espero que a alguien le sea de ayuda. Saludos, -
Nuevamente acudo a vosotros para solicitar vuestra ayuda. En esta ocasión estamos haciendo una ventana emergente con un formulario básico para que el cliente pueda calcular lo que le va a costar la cantidad de producto que desea comprar. Por lo tanto el formulario tiene tres cajas: 1.- Precio 2.- Cantidad deseada 3.- Resultado Los productos los estamos presentando en un listado vertical por categoría. Cuando en el listado hay un único producto que se vende al peso el formulario funciona perfectamente, os muestro una imagen en el adjunto 1. El problema que tenemos es que cuando en una categoría tenemos varios productos que se venden al peso el formulario no nos está cogiendo correctamente los valores de los campos. El Código que estamos utilizando para el formulario es el siguiente: <form id="calcula_precio"><p> <input type="text" name="coste" readonly="true" id="Precio" value="{$product.price}" maxlength="5"> </p><br /> <p>X <input type="text" id="Cantidad" onkeyup="multiplicar();" value=0.00 maxlength="5" autocomplete="off"> </p><br /><p>= <input type="text" id="resultado" value=0.00></p> <br /><p> </p> </form> El código que utilizamos para la función que calcula el valor de la compra en función de la cantidad de producto es el siguiente: <script type="text/javascript"> {literal} function multiplicar() { m1 = parseFloat((document.getElementById("Precio").value).replace(",",".")).toFixed(2); m2 = (document.getElementById("Cantidad").value).replace(",","."); r = parseFloat(m1*m2).toFixed(2); document.getElementById("resultado").value = r; } {/literal} </script> El código desde el que llamamos al formulario para que lo abra con el efecto fancybox y en los casos concretos de venta al peso, etc es el siguiente: {if ($product.allow_oosp || $product.quantity > 0)} {*El producto no está en oferta*} {if ({$product.description_short|upper|truncate:360:'...'|strip_tags:'UTF-8'} == "VENTA AL PESO")} 75]<a Class="fancybox" style="background-color: #669900; color:#FFFFFF; font-weight:bold; font-size:9px" href="#{$product.id_product}" title="Indiquenos la cantidad de producto que desea...">Click para indicar peso</a> <div style="display: none;"> 75]<div id="{$product.id_product}"style="width:800px;height:170px; overflow:auto; "> <div id="calculapeso" style="position: absolute; left:200px; width:300px; height:100px; z-index :4;"> De manera que lo que hay dentro de este último Div con identificador “calculapeso” es el formulario antes mostrado. La página sobre la que estoy haciendo las pruebas y sobre la que podéis ver el fallo comentado es la siguiente: http://www.chapaypin...?id_category=25 Veréis que hay dos productos en la categoría “patatas”, os adjunto imagen en el adjunto2. Cuando hacemos click en el botón del primer producto la función multiplicar() recoge como valor (document.getElementById("Precio").value) el correspondiente al segundo producto y viceversa. ¿Alguien podría indicarme por qué puede estar sucediendo esto? Muchas gracias de antemano.
-
[SOLUCIONADO] Fallo botón “Añadir a la cesta” en product-list.tpl
OPS replied to OPS's topic in Discusión general
ok queda actualizado en el siguiente aporte http://www.prestashop.com/forums/topic/173967-aporte-abrir-pagina-dinamica-con-fancybox/page__p__854164#entry854164 Gracias.- 11 replies
-
- listado de productos
- botón
-
(and 4 more)
Tagged with:
-
[SOLUCIONADO] Fallo botón “Añadir a la cesta” en product-list.tpl
OPS replied to OPS's topic in Discusión general
Bueno compañeros, parece que todo funciona ahora correctamente. Mil gracias por todo. Resuelvo el post.- 11 replies
-
- listado de productos
- botón
-
(and 4 more)
Tagged with:
-
[SOLUCIONADO] Fallo botón “Añadir a la cesta” en product-list.tpl
OPS replied to OPS's topic in Discusión general
Buenas a todos Creo que hemos solventado el problema. En el código que incorporé en el lugar el botón standar de "Añadir a la cesta" del fichero product-list.tpl se diferenciaban dos casos, es decir, que dependiendo de una serie de condicionantes anteriores el popup que se abre puede variar. El problema estaba en que el identificador de la clase era el mismo en ambos casos. He encontrado una consulta realizada en internet de alguien que tenía el mismo problema y con la respuesta he podido solventarlo. Aquí está el enlace a esa página por si le sirve a alguien de ayuda. http://www.stack-es.com/stackoverflow/es/problem-with-fancybox-iframe-works-only-for-the-first-link-on-the-site--5563799.html voy a terminar de probarlo antes de darlo por resuelto. Muchas gracias.- 11 replies
-
- listado de productos
- botón
-
(and 4 more)
Tagged with:
-
[SOLUCIONADO] Fallo botón “Añadir a la cesta” en product-list.tpl
OPS replied to OPS's topic in Discusión general
Revisando la biblioteca de fancybox, que es la herramienta utilizada para crear el poup, he visto algún comentario en la línea de que el efecto se aplica de manera diferente a elementos individuales y a elementos en listas o grupos. Concretamente hay una entrada en el apartado FAQ que es la siguiente: 7. FancyBox is not working on all images, only first one opens. What's wrong? If you are using ID as selector $("#selector").fancybox(); then switch to classes - $(".selector").fancybox(); Incialmente yo lo tenía configurado como item, es decir: <script type="text/javascript"> $(document).ready(function() { $("a#Mi_contenido").fancybox(); }); </script> <a ID="Mi_contenido" style="background-color: #669900; color:#FFFFFF; font-weight:bold; font-size:9px" href="#contenido" title="Oferta este producto por solo 1€ comprando 1 Kilo de {$product.location|substr:7}">Añadir a la cesta</a> <div style="display: none;"> <div id="contenido" style="width:800px;height:170px;overflow:auto; "> Por ello he probado a cambiarlo a clase, es decir a dejarlo como sigue: <script type="text/javascript"> $(document).ready(function() { $(".Mi_contenido").fancybox(); }); </script> <a class="Mi_contenido" style="background-color: #669900; color:#FFFFFF; font-weight:bold; font-size:9px" href="#contenido" title="Oferta este producto por solo 1€ comprando 1 Kilo de {$product.location|substr:7}">Añadir a la cesta</a> <div style="display: none;"> <div id="contenido" style="width:800px;height:170px;overflow:auto; "> Pero sigue sin funcionar, vamos el funcionamiento es exactamente el mismo que antes. También he probado con class y con <script type="text/javascript"> $(document).ready(function() { $("a.Mi_contenido").fancybox(); }); </script> y tampoco funciona. Os lo comento por si puede limitar en alguna medida el error. Gracias.- 11 replies
-
- listado de productos
- botón
-
(and 4 more)
Tagged with:
-
[SOLUCIONADO] Fallo botón “Añadir a la cesta” en product-list.tpl
OPS replied to OPS's topic in Discusión general
Estimados shaker y nadie Gracias por vuestras rápidas respuestas. La versión de prestashop es la 1.4.7 y la plantilla es la estandar con una módificación aplicada sobre el product-list.tpl para que genere un popup concretamente con el efecto fancybox. Nadie, efectivamente el error lo debe estar dando el popup ya que el código de los botones de añadir a la cesta es exactamente el mismo. ¿Podrían echarle un vistazo para ver si me pueden orientar sobre el error en concreto? www.chapaypinturafranciscoleon.com/prestashop y dentro podéis ir como os comentaba a la sección de verduras. si necesitáis alguna información adicional decidmelo o si queréis modifico el popup para que saque un único o lo que sea. Lo dicho, muchas gracias.- 11 replies
-
- listado de productos
- botón
-
(and 4 more)
Tagged with:
-
Buenas a todos En nuestra tienda tenemos productos que se venden a su precio y productos que están en oferta. La oferta que aplica es que por la compra de un producto se puede llevar otro por solo 1€, por lo tanto la oferta aplica al comprar sendos productos. Para que dichas ofertas no pasen desapercibidas a los clientes les hemos generado una ventana tipo popup de manera que cuando hagan clic en un producto asociado a la oferta le pregunte si quiere o no aprovechar la oferta. imagen-1 El cliente puede contestar que quiere la oferta, en cuyo caso se le carga un pack con los dos productos, o que quiere comprar el producto sin oferta. La implementación que hacemos del botón comprar solo producto es la misma que viene hecha por defecto en el product-list.tpl de prestashop y cuyo código replico a continuación: <div id="mi_producto"><a class="button ajax_add_to_cart_button exclusive" onClick="$.fancybox.close();" rel="ajax_id_product_{$product.id_product|intval}" title="{l s=' Añadi'}">{l s='Comprar solo producto'} </a></div> </div> Pues bien, cuando tenemos más de un producto en oferta en el mismo listado, es decir, en la misma página porque están en la misma categoría, este botón solo funciona para el primer producto del listado, es decir, que para el resto de productos carga siempre el producto correspondiente al primero de la lista. Para que se vea claro, en la siguiente pantalla tenéis dos productos: Menestra con el id de producto 3 Judias troceadas con el id de producto 10 Imagen-2 Al hacer clic sobre el botón “Añadir al a cesta” de la menestra nos salta el popup y si miramos el id de producto que va a cargar con el botón “Comprar solo el producto” veremos que efectivamente es el id 3. imagen-3 Si ahora vamos al siguiente producto, es decir, a la judias troceadas y damos al botón “Añadir a la cesta” veremos que nos vuelve a saltar el popup pero en este caso si miramos el id de producto que lleva asociado el botón “Comprar solo el producto” veremos que es el id 3 y no el 10 como debería. imagen-4 He comprobado que lo que ocurre es que siempre toma los valores del primer elemento del listado de productos y no se por qué hace eso. Podeis ver el funcionamiento en www.chapaypinturafranciscoleon.com/prestashop y concretamente en la sección verduras. ¿Alguien podría mirarlo y decirme a qué se puede deber? Gracias.
- 11 replies
-
- listado de productos
- botón
-
(and 4 more)
Tagged with:
-
Creado, muchas gracias.
-
Buenas Victor Lo he subido un nivel hasta discusión general pero no veo como llevarlo al apartado que me comentas.
-
Buenas denuevo Pues parece que al final tenía un error en el código anterior, para que funcione con todos los enlaces de la misma página el código correcto para el plugin fancybox es el siguiente: <script type="text/javascript"> $(document).ready(function() { $("a#Mi_contenido").fancybox(); }); </script> ¡¡¡Faltaba una a!!!! Cerramos el hilo.
-
Buenas a todos Finalmente revisando la biblioteca de fancybox he visto que puedo generar el contenido antes de pasarselo y con eso ya me vale. Os dejo el código para hacerlo que seguro que a alguien le valdrá en algún momento. <script type="text/javascript"> $(document).ready(function() { $("#Mi_contenido").fancybox(); }); </script> <a id="Mi_contenido" href="#contenido" title="Título de la ventana de fancybox"> Texto sobre el que clickar para abrir la ventana</a> <div id=contenido> Aquí ponemos el contenido de la ventana </div> Con este código, al hacer click en el enlace Texto sobre el que clickar para abrir la ventana se lanzará automáticamente el efecto fancybox sobre el contenido que añamos definido para dicha ventana. No obstante, me queda una duda que resolver con esta funcionalidad. Tengo la página organizada en 3 columnas, la de la izquierda es la de las categorías y la central es la que lista la relación de productos de la categoría seleccionada. Pues bien, el efecto fancybox solo me funciona sobre el primer producto de la lista a la que lo aplico por cada categoría. la página por si alguie puede echarle un vistazo es la siguiente: http://www.chapaypinturafranciscoleon.com/prestashop Si váis a la categoría "Precocinados" veréis que hay dos productos y que ambos están marcados como oferta. Al pulsar sobre el primer botón de añadir a la cesta, el del producto "Bocaditos de rosada" comprobaréis que el efecto funciona, pero al hacerlo sobre el botón de "churros" veréis que no funciona. ¿alguien me puede orientar por qué solo funciona el primer botón? Muchas gracias.
-
Buenas de nuevo y gracias por anticipado. En esta ocasión el problema que tengo es para abrir una página dinámica con fancybox. En condiciones normales podemos abrir la página con el siguiente código <script type="text/javascript"> $(document).ready(function(){ $(".miclase").fancybox({ 'autoScale' : false, 'transitionIn' : 'none', 'transitionOut' : 'none', 'width' : 680, 'height' : 450, 'type' : 'iframe' }); }); </script> <a class="miclase" href="mipagina.html">Abrir página</a> Este código abre sin problema la página web mipagina.html con efecto fancybox incorporado. Ahora bien, lo que necesito hacer es abrir una página creada por nosotros dinámicamente, es decir, creada mediante script con una función de este tipo <SCRIPT LANGUAGE="JavaScript"> <!-- var nueva = null function NuevaVentana() { nueva = window.open("", "", "resizable, width=300, height=300") nueva.document.open() nueva.document.writeln("< HTML><HEAD><TITLE>Documento Creado</TITLE></HEAD>") nueva.document.writeln("<BODY><H1>Mi título</H1>") nueva.document.writeln("<IMG SRC='uno.gif' HEIGHT='15' WIDTH='15'>") nueva.document.writeln("<H2>Mis productos, etc</H2>") nueva.document.write("</BODY></HTML>") nueva.document.close() } //--> Los parámetros de la función window.open son: window.open(URL,nombre_de_la_ventana,forma_de_la_ventana) He probado a incorporar un nombre a la ventana pero igualmente no me la abre, por ejemplo. nueva = window.open("", "mipagina", "resizable, width=300, height=300") El problema es que no consigo abrir esta nueva ventana con el efecto fancybox. Por último añadir que necesito abrir esta ventana dinámica desde la página product-list-tpl Agradezco cualquier ayuda. Un saludo.
-
Estimado Prescol, gracias por tu respuesta. He buscado una solución alternativa para salir del paso, en realidad para aplicar la oferta necesito saber si el cliente quiere o no la oferta ya que puede comprar los producto por separado sin oferta. La solución que le he dado es incluir el condicional en el fichero ajax-cart.js. Allí compruebo si se trata de un pack var pack = $(this).attr('pack'); if (pack != null) //Se trata de un producto en pack y por lo tanto en oferta { y en tal caso pregunto al cliente si quiere o no la oferta var oferta = confirm("COMPRANDO 1KG DE " + $(this).attr('productoA') + " POR 1\u20AC M\u00C1S SE LLEVA 1KG DE " + $(this).attr('productoB').substring(7,55) + " \u00BFAceptar la oferta?"); No creo que sea demasiado profesional pero funciona. Muchas gracias por tu respuesta, sé que es algo muy específico y particular pero nos hace falta que funcione así para replicar en la web el funcionamiento normal de nuestras tiendas físicas.
-
[SOLUCIONADO] Obetener el valor de Id_product dentro de la clase hook.php
OPS replied to OPS's topic in Discusión general
Estimado Victor, no tengo palabras, muchísimas gracias. A tu servicio. -
Buenas a todos y gracias por vuestra ayuda denuevo. Necesito hacer una modificación de la función deleteProduct($Product) dentro de la clase hook.php. Para ello necesito saber el id_product, es decir, dentro de $product el $id_product concreto, esto me dará el producto sobre el que estamos actuando, vamos el que se va a borrar. Seguramente sea trivial pero no he sido capaz de conseguir cargar sobre una variable dicho valor. algunos de los intentos han sido: $result = (int)($product.id_product) $result = (int)($product_id_product) $result = (int)($product['id_product'] y un largo etc, pero sin resultados. Agradezco vuestra ayuda desde ya. GRacias. Saludos
-
Buenas a todos y gracias de antemano por vuestra ayuda. En el fichero product-list.tpl, cuando el usuario hace click sobre el botón "Añadir a la cesta" se ejecuta el siguiente código: <a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart.php')}?add&id_product={$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}" He destacado el código de la línea que necesito cambiar. Concretamente voy a preguntar al usuario si quiere aprovechar una oferta relacionada con este producto y en caso de que el usuario responda que si entonces debo cambiar dicha línea por esta otra: rel="ajax_id_product_{$product.supplier_reference}" ¿Cómo lo estoy tratando de hacer? He realizado una función javascript a la que he llamado "Pedir_confirmacion()" que es la que pregunta al usuario si quiere aprovechar la oferta. Aprovecho el evento "Onclick" para llamar a esta función y que pregunte al usuario. ¿Donde está el problema? El problema es que no sé como hacer para recoger la respuesta del onclick y que en función de ella se ejecute un código y otro. Estoy seguro de que es muy básico pero no soy capaz de resolverlo así que agradecería cualquier ayuda. digamos que a nivel funcional se trataría de algo así. onclick --> {if (Pedir_confirmacion()} rel="ajax_id_product_{$product.id_product|intval}" {else} rel="ajax_id_product_{$product.supplier_reference}" {/if} Si de esta forma no se puede hacer agradeceré me expliquen otra forma de hacerlo. Gracias.
-
[Solucionado] Pack asociado a producto en product-list.tpl
OPS replied to OPS's topic in Discusión general
Estimado nadie, muchas gracias por tu respuesta la cual me ha aclarado bastante por donde no debe seguir. Viendo la complejidad del asunto he pensado cargar en algunos de los campos de la variable "$product" el id del pack que necesito, al menos para poder avanzar en este momento. Evidentemente utilizaremos algún campo de los que no vamos a necesitar, concretamente "supplier_reference". Así cuando el usuario haga click en el botón "Añadir a la cesta" le aparecerá una ventana preguntándole si quiere la oferta. En caso de que el usuario responda que no se ejecutará la sentencia que viene por defecto en el fichero product-list.tpl, es decir, rel="ajax_id_product_{$product.id_product|intval}" en caso de que el usuario acepte la oferta cambiaremos esta línea por la siguiente: rel="ajax_id_product_{$product.supplier_reference|intval}" De esta forma se cargará en este segundo caso el pack y no el producto individual al carrito. Esto lo he probado y funciona correctamente, lo único que me falla es el funcionamiento de "onclick" para que funcione como yo necesito pero para eso abriré otro hilo. Lo dicho, muchas gracias. -
[Solucionado] Pack asociado a producto en product-list.tpl
OPS replied to OPS's topic in Discusión general
Ningún valiente me echa una mano??? Vamos que seguro que es fácil!!! Gracias de antemano.