Prestashop: que el menú del backoffice pueda hacer scroll.

Con Prestashop 1.7 han venido muchas ventajas. Pero también alguna cosa extraña que ha habido que arreglar. Entre ellas esta del menú del backoffice. Si añades muchos módulos que agreguen apartados en en menú de la sección de administración, verás que no se puede llegar a la parte inferior porque no hace “scroll”.

Dicen que lo van a solucionar, pero llevan diciéndolo desde las primeras versiones, así que os dejamos una arreglo mientras lo hacen.

Cómo hacer que el menú del backoffice en Prestashop pueda hacer scroll.

Lo primero es hacer que se pueda hacer scroll. Para ello edita el fichero tucarpetadeadmin/theme/default/css/admin-theme.css o mejor, para mantener ese intacto tucarpetadeadmin/theme/default/css/override.css

Y añade las líneas:

#nav-sidebar { 
overflow-y: auto; }
::-webkit-scrollbar {display:none;} 

Con esto se puede hacer scroll y sin ver la barra. PERO (un gran pero) desaparecen los submenús del menú principal.

También tenemos solución para eso.

Ahora tienes que editar el fichero tucarpetadeadmin/theme/default/js/admin-theme.js   y poner lo siguiente al final:

$(function () {

$(document).on(‘hover’, ‘#nav-sidebar li.has_submenu’, function () {
var submenu = $(this).find(‘.submenu’).eq(0);

var marginTop = $(this).position().top + parseInt($(‘header#header > nav’).height());
if ((marginTop + parseInt(submenu.height())) > parseInt($(window).height()))
marginTop -= (marginTop + parseInt(submenu.height()) – parseInt($(window).height())) + 10;

if ($(‘body’).hasClass(‘page-sidebar-closed’))
marginTop += 34;

setTimeout(function () {
submenu.attr(‘style’, ‘position: fixed !important; top: ‘ + marginTop + ‘px !important’);
}, 50);
});

});

Con esto ya tendrás los menús funcinando (fuente de esta función). Parece mentira que no solucionen estas cosas “tan sencillas”.