Por defecto en prestashop tenemos la «vista cuadrícula» por defecto en el listado de productos. Para poner la «vista lista» siempre por defecto hay que hacer 2 pequeños cambios en nuestro theme default-bootstrap.
1. Buscamos en el archivo: /themes/default-bootstrap/produt-list.tpl el siguiente código:
<ul{if isset($id) && $id} id="{$id}"{/if} class="product_list grid row{if isset($class) && $class} {$class}{/if}{if isset($active) && $active == 1} active{/if}">
Y lo reemplazamos por:
<ul{if isset($id) && $id} id="{$id}"{/if} class="product_list list row{if isset($class) && $class} {$class}{/if}{if isset($active) && $active == 1} active{/if}">
2. Buscamos en el archivo: /themes/default-bootstrap/js/global.js el siguiente código:
function bindGrid(){
var view = $.totalStorage('display');
if (view && view != 'grid')
display(view);
else
$('.display').find('li#grid').addClass('selected');
$(document).on('click', '#grid', function(e){
e.preventDefault();
display('grid');
});
$(document).on('click', '#list', function(e){
e.preventDefault();
display('list');
});
}
Y lo reemplazamos por:
function bindGrid(){
var view = $.totalStorage('display');
if (view && view != 'list')
display(view);
else {
$('.display').find('li#list').addClass('selected');
display('list');
}
$(document).on('click', '#grid', function(e){
e.preventDefault();
display('grid');
});
$(document).on('click', '#list', function(e){
e.preventDefault();
display('list');
});
}
Con eso basta. Básicamente lo único que hacemos es cambiar la clase «grid» por «list» en el listado.
Agradezco tu comentario 🤘