Jump to content

Arethusa

Members
  • Posts

    17
  • Joined

  • Last visited

Profile Information

  • Activity
    Freelancer

Arethusa's Achievements

Newbie

Newbie (1/14)

1

Reputation

  1. En mi tienda tengo bastantes productos en los que permito pedidos aunque no haya stock. Y aunque se avisa en la descripción corta de que son productos que no están en stock, que el pedido tardará unos días en poderse preparar e incluyo una etiqueta de disponibilidad indicando el plazo... muchos clientes lo pasaban por alto. Por lo que he implementado el cambio del texto del botón "añadir al carrito" por el de "reservar ahora" para intentar que quede aún más claro. Y además muestro la disponibilidad de cada producto añadido al carrito en el resumen del carrito y en el resumen final antes de completar el pago. Esto último también pone solución al problema que se da cuando uno o varios productos del carrito ya no tienen el stock suficiente, muestra mensaje de alerta indicando el producto pero no indica que combinación (color/modelo/talla) es la afectada. El botón "añadir al carrito" cambia a "Reservar ahora" cuando: el producto seleccionado no tiene stock, pero se permiten pedidos las unidades que se quieren añadir al carrito son superiores a las que hay en stock, pero se permiten pedidos. Además, muestra un cuadro informativo bajo la etiqueta de disponibilidad, informando de que se puede reservar el producto de la siguiente reposición que recibamos. En el resumen del carrito se muestra la disponibilidad de la siguiente manera: En stock: Cuando el producto está disponible y las unidades que se quieren comprar son inferiores a las que hay en stock en el almacén. Queda "X": Cuando se quieren comprar más unidades de las que hay disponibles y donde "X" es el número de unidades disponibles. Reservar: Cuando no hay stock del producto pero se permiten pedidos. Queda "X" - Reservar "Y": Cuando no hay todas las unidades que se quieren comprar y se permiten pedidos. Donde "X" es el número de unidades disponibles e "Y" es el número de unidades que no hay en stock y que quedarían reservadas para cuando haya stock. Espero que os resulte útil. Está implementado en el Theme classic de pretashop 1.7.5.1 Primeramente vamos a modificar el botón de los productos para que cambie a "Reservar Ahora". En themes / classic / templates / catalog / _partials / product-add-to-cart.tpl busca el código: <div class="add"> <button class="btn btn-primary add-to-cart" data-button-action="add-to-cart" type="submit" {if !$product.add_to_cart_url} disabled {/if} > <i class="material-icons shopping-cart">&#xE547;</i> y añade a continuación: {if $product.availability == 'available' && $product.quantity >= $product.quantity_wanted} {l s='Add to cart' d='Shop.Theme.Actions'} {else} {l s='RESERVAR AHORA' d='Shop.Theme.Actions'} {/if} En el mismo archivo, busca el código: {block name='product_availability'} <span id="product-availability"> {if $product.show_availability && $product.availability_message} {if $product.availability == 'available'} <i class="material-icons rtl-no-flip product-available">&#xE5CA;</i> {elseif $product.availability == 'last_remaining_items'} <i class="material-icons product-last-items">&#xE002;</i> {else} <i class="material-icons product-unavailable">&#xE14B;</i> {/if} {$product.availability_message} y añade después: {if $product.availability == 'available' && $product.quantity < $product.quantity_wanted} <div class="info_preorder"> Ahora mismo no disponemos de todo el stock que necesitas en el color/modelo seleccionado, pero lo puedes reservar de la próxima reposición. </div> {/if} puedes utilizar la clase .info_preorder para darle el aspecto que quieras al cuadro informativo en el archivo themes / classic / assets / css / custom.css Por ejemplo: .info_preorder{ color: #ff007f; background: #fff; padding: 20px; margin-bottom: 10px; } Ahora, vamos a mostrar la disponibilidad en el resumen del carrito. En el archivo themes / classic / templates / checkout / _partials / cart-detailed-product-line.tpl Busca el código: {foreach from=$product.attributes key="attribute" item="value"} <div class="product-line-info"> <span class="label">{$attribute}:</span> <span class="value">{$value}</span> </div> {/foreach} y añade después: <span id="product-availability"> {if $product.show_availability && $product.availability_message} {if $product.allow_oosp && $product.availability && $product.stock_quantity > 0 && $product.quantity > $product.stock_quantity} <i class="material-icons product-last-items"></i> Queda {$product.stock_quantity} - Reservar {$product.quantity - $product.stock_quantity} {elseif $product.allow_oosp && $product.availability && $product.stock_quantity <= 0 && $product.quantity > $product.stock_quantity} <i class="material-icons product-last-items"></i> Reservar {elseif $product.quantity > $product.stock_quantity} <i class="material-icons product-unavailable"></i> Queda {$product.stock_quantity} {else} <i class="material-icons rtl-no-flip product-available"></i> En Stock {/if} {/if} </span> Ahora vamos a mostrar la disponibilidad en el resumen final antes de confirmar el pago. En el archivo themes / classic / templates / checkout / _partials / order-confirmation-table.tpl Busca el código: {/foreach} {/if} {hook h='displayProductPriceBlock' product=$product type="unit_price"} </div> <div class="col-sm-6 col-xs-12 qty"> y añade a continuación: <span id="product-availability"> {if $product.show_availability && $product.availability_message} {if $product.allow_oosp && $product.availability && $product.stock_quantity > 0 && $product.quantity > $product.stock_quantity} <i class="material-icons product-last-items"></i> Queda {$product.stock_quantity} - Reservar {$product.quantity - $product.stock_quantity} {elseif $product.allow_oosp && $product.availability && $product.stock_quantity <= 0 && $product.quantity > $product.stock_quantity} <i class="material-icons product-last-items"></i> Reservar {elseif $product.quantity > $product.stock_quantity} <i class="material-icons product-unavailable"></i> Queda {$product.stock_quantity} {else} <i class="material-icons rtl-no-flip product-available"></i> En Stock {/if} {/if} </span>
  2. ¡Thanks a lot! $product.stock_quantity is perfect.
  3. ¡Hola! en la versión 1.7 ya no funciona. He intentado modificar en themes / classic / templates / catalog / _partials / product-add-to-cart.tpl con lo siguiente: <div class="add"> <button class="btn btn-primary add-to-cart" data-button-action="add-to-cart" type="submit" {if !$product.add_to_cart_url} disabled {/if} > <i class="material-icons shopping-cart">&#xE547;</i> {if $product.allow_oosp && $product.quantity <= 0} {l s='pre-order' d='Shop.Theme.Actions'} {else} {l s='Add to cart' d='Shop.Theme.Actions'} {/if} </button> </div> pero no funciona. Sigue apareciendo "añadir al carrito". ¿alguna idea para cambiar el texto del botón a "reservar" cuando el stock es igual o menor a 0 y se permiten los pedidos? Gracias de antemano.
  4. Hola Aixos, lo se. La tienda original ha estado en su sitio hasta que la nueva funcionaba perfectamente. Tanto la instalación como la base de datos de la versión 1.7 son limpias. Los fallos que comento me los ha comenzado a dar cuando he hecho el cambio de directorio de los archivos de la versión 1.7 a la raíz del dominio. No obstante, muchas gracias por tomarte un momento para contestar a mi post
  5. Hola, recientemente he realizado una migración de mi tienda prestashop 1.6 a 1.7. Para ello cree un directorio en el servidor dentro de prestashop 1.6, para realizar la instalación de la nueva versión y volcar ahí los datos. Tras la migración todo funcionaba correctamente por lo que me dispuse ha sustituir la versión 1.6 activa hasta el momento por la nueva versión. Para ello, borré todos los archivos de prestashop 1.6 de la raiz del dominio y moví (en vez de copiar) ahí los de la nueva versión. Como no había modificado la url de la tienda en el apartado SEO & URL, no podía acceder ni a la web ni al backoffice. Por lo que copié la versión 1.7 nuevamente en la carpeta donde había realizado la instalación para realizar los cambios de url. Borré caché y comprobé que el frontoffice y el backoffice en la raíz del dominio funcionaran. Pero me he encontrado con algunos detalles que no están como deberían: En los transportistas, se ha desconfigurado la vista (adjunto captura) En la página principal del backoffice no muestra ningún dato de pedidos, ventas, usuarios en linea... y si entra un pedido, no sale la alerta en la esquina superior. Y aunque pulse sobre las opciones de día, mes, año o para indicar un tramo de fechas, no hace nada ni despliega calendario para indicar fechas (adjunto captura). Si luego voy zona a zona dando al botón de "actualizar", me va mostrando los datos: últimos pedidos, visitantes el linea, gráfica... pero la parte de selección de fechas sigue sin funcionar, por lo que la gráfica muestra hasta el día 12 (fecha de la la migración de datos) y no hasta el día actual por ejemplo. En algunos módulos (cookies, pop up) no aparece la caja de funciones para texto. Es decir, puedo escribir, pero no puedo poner negrita, centrado... El javascript del menu del backoffice no funciona correctamente en algunas secciones del mismo. Es decir, se ilumina el texto al pasar el ratón, pero no muestra ni la flecha para abrir el submenú, ni oscure el background de ese item... Lo curioso es que no es generalizado, que sólo ocurre en cuando estoy en algunas secciones concretas del backoffice. En las secciones donde no funciona correctamente, coincide que no muestra las alertas de nuevos pedidos/usuarios y que en la parte superior del menú se encuentra el gift de flechas dando vueltas sin que nunca se llegue a quitar, como si no hubiera terminado de cargar la página. Y en las que si funciona bien, aparecen las alertas, se despliega el submenú y se muestra la caja de funciones de texto en caso de que la haya... en la página de un pedido, no muestra el mapa de google maps, y el desplegable de estado de pedido, lo muestra como cuando le das antes de haber cargado completamente la página. El problema lo tenía accediendo tanto al backoffice de la raíz como al del directorio donde instalé inicialmente. Borré el directorio por si acaso se estuvieran interfiriendo ambos backoffice y desinstalé los módulos que no se visualizaban correctamente, pero el fallo continúa. Aunque son problemas visuales con los que podría vivir, me da miedo que ello esté provocando algún fallo de funcionalidad importante que no esté viendo. Yo creo que puede ser que no cargue algún script correctamente, pero no se cual puede ser ni como resetearlo. ¿alguna idea? ¿alguien me puede echar un cable?
  6. Otro motivo por el cual pueden no aparecer los transportistas es porque no se hayan incluido en el almacén... a mi no me aparecían y era por eso.
  7. Yo he tenido el mismo problema. Tras muchas horas de búsqueda, pruebas y quebraderos de cabeza he conseguido solucionarlo. En mi caso, el error fue ocasionado por una actualización de módulos (los cuales actualicé un par de días antes de que empezaran los problemas) Restauré una copia anterior a la actualización y todo volvió a funcionar. Tras ir actualizando uno a uno los módulos, encontré el módulo que me daba problemas: mailchimp Por lo que es posible que la actualización de algún modulo os esté creando conflicto. Espero que os sirva de ayuda.
  8. Muchas gracias por los aportes. Modificado y esperando a que no haya ningún descuadre de importes con PayPal Esperemos que a mi también me funcione jejeje
  9. Muchas gracias!! Era justo lo que estaba buscando. En prestashop 1.6.1.5 funciona a la perfección utilizando el nombre del transportista en el condicional y sin necesidad de borrar la caché. Con el id de transportista no funciona.
  10. Yo tengo el mismo problema. Es un contratiempo enorme porque es el método de pago más utilizado en mi tienda
  11. Hola! hiciste algo especial al instalarlo? yo lo he instalado la versión para 1.6 y o bien me muestra todos los métodos de pago en todos los transportistas (osea que no hace su función) o a los clientes les sale "Aún no se ha instalado ningún método de pago" aunque yo entro como cliente y a mi si me los muestra
  12. Muchas gracias por el aporte. Tenía un módulo de pago instalado para el contra reembolso (Fee with Cash on delivery (COD)) y faltaba que la etiqueta de envialia pusiera Cobros: si Con tu modificación en el modulo de envialia ahora funciona perfecto! Gracias!
×
×
  • Create New...