Menú horizontal superior de Prestashop 1.6 más rápido

06 mayo, 2015 |

Si te gusta, compártelo ;)

Vista previa módulo no puede ser trasplantado en prestashop

Personalmente opino que el menú horizontal superior de Prestashop 1.6 es un poco lento al interactuar con él. Me refiero al tiempo que tarda en aparecer/desaperecer el submenú al pasar el cursor por algún enlace.

Este comportamiento está condicionado por el archivo superfish-modified.js; y vamos a ver cómo hacer para que el menú horizontal superior de Prestashop 1.6 sea más rápido.

El archivo superfish-modified.js

El archivo superfish-modified.js está un poco escondido, pero seguramente lo encontraréis en la ruta ../prestashop/themes/default-bootstrap/js/modules/blocktopmenu/js

Una vez localizado el archivo, abrirlo y localizar el siguiente código (casi al final del archivo):

$.fn.superfish.defaults = {
  popUpSelector: 'ul,.sf-mega', // within menu context
  hoverClass: 'sfHover',
  pathClass: 'overrideThisToUse',
  pathLevels: 1,
  delay: 800,
  animation: {opacity: 'show'},
  animationOut: {opacity: 'hide'},
  speed: 'normal',
  speedOut: 'fast',
  cssArrows: true,
  disableHI: false,
  onInit: $.noop,
  onBeforeShow: $.noop,
  onShow: $.noop,
  onBeforeHide: $.noop,
  onHide: $.noop,
  onIdle: $.noop,
  onDestroy: $.noop
 };

Simplente debemos hacer dos cambios:

$.fn.superfish.defaults = {
  popUpSelector: 'ul,.sf-mega', // within menu context
  hoverClass: 'sfHover',
  pathClass: 'overrideThisToUse',
  pathLevels: 1,
  delay: 0,
  animation: {opacity: 'show'},
  animationOut: {opacity: 'hide'},
  speed: 'fast',
  speedOut: 'fast',
  cssArrows: true,
  disableHI: false,
  onInit: $.noop,
  onBeforeShow: $.noop,
  onShow: $.noop,
  onBeforeHide: $.noop,
  onHide: $.noop,
  onIdle: $.noop,
  onDestroy: $.noop
 };

Con estos dos pequeños cambios nuestro menú horizontal superior ganará en "agilidad". Fácil y rápido.

3 comentarios:

  1. Muchas gracias por tus tutoriales; son estupendos.
    Veras, yo entiendo poco de programacion y necesito preguntar si es posible modificar esta adaptacion en modo override para que no se pierdan las modificaciones cuando actualice Prestashop. Uso siempre la plantilla por defecto con sus adaptaciones.
    Si se puede hacer, ¿ puedes indicarme las pautas ?
    Gracias de antemano

    ResponderEliminar
  2. Hola tocayo:
    Como ya sabes por otro comentario anterior puedes conseguir esto creando un tema a partir del existente por defecto en Prestashop 1.6, o sea, default-bootstrap.

    ResponderEliminar
  3. Cuando entro en el módulo menú horizontal superior y le añado un enlace externo para que salga en el menú superior. No se queda la propiedad :active en el nuevo elemento de menú. Me puedes explicar como solucionarlo. Milgracias, te adjunto web. ej: catálog, blog, contacto
    http://baubaukids.com/es/

    ResponderEliminar