Mostrar fabricantes ordenados alfabéticamente en Prestashop 1.7

Solución proporcionada por el usuario “nemo” de la Comunidad de Prestashop.


Traducción del tutorial oficial

Debemos ir al fichero:

/templates/catalog/brands.tpl (Es la plantilla de visualización (o modelo base) del listado de fabricantes en el front-office en Prestashop 1.7)

Y cambiamos su contenido por el siguiente:

{extends file=$layout}
{block name='content'}
<section id="main">
{block name='brand_header'}
<h1>{l s='Brands' d='Shop.Theme.Catalog'}</h1>
{/block}
{block name='brand_miniature'}
<div class="all-brands">
<div class="all-brands">
<ul class="letter-select clearifx">
<li><a href="#letter_0">#</a></li>
<li><a href="#letter_A">A</a></li>
<li><a href="#letter_B">B</a></li>
<li><a href="#letter_C">C</a></li>
<li><a href="#letter_D">D</a></li>
<li><a href="#letter_E">E</a></li>
<li><a href="#letter_F">F</a></li>
<li><a href="#letter_G">G</a></li>
<li><a href="#letter_H">H</a></li>
<li><a href="#letter_I">I</a></li>
<li><a href="#letter_J">J</a></li>
<li><a href="#letter_K">K</a></li>
<li><a href="#letter_L">L</a></li>
<li><a href="#letter_M">M</a></li>
<li><a href="#letter_N">N</a></li>
<li><a href="#letter_O">O</a></li>
<li><a href="#letter_P">P</a></li>
<li><a href="#letter_Q">Q</a></li>
<li><a href="#letter_R">R</a></li>
<li><a href="#letter_S">S</a></li>
<li><a href="#letter_T">T</a></li>
<li><a href="#letter_U">U</a></li>
<li><a href="#letter_V">V</a></li>
<li><a href="#letter_W">W</a></li>
<li><a href="#letter_X">X</a></li>
<li><a href="#letter_Y">Y</a></li>
<li><a href="#letter_Z">Z</a></li>
</ul>
<div class="brands-by-letter">
{$current_letter = '#'}
{foreach from=$brands item=brand}
{$first_letter = $brand.name|substr:0:1}
{if $current_letter != $first_letter}
{if !$first_letter|in_array:['0','1','2','3','4','5','6','7','8','9']}
{$current_letter = $first_letter|upper}
</div>
</div>
{/if}
<div class="box-letter clearfix" id="letter_{if $current_letter == '#'}0{else}{$current_letter|upper}{/if}">
<div class="box-title">{$current_letter|upper}</div>
<div class="letter-content">
{/if}
<p>
<a href="{$link->getManufacturerLink($brand.id_manufacturer)}">{$brand.name}</a>
</p>
{/foreach}
</div>
</div>
</div>
</div>
{/block}
</section>
{/block}

Y añadimos el siguiente contenido:

/* Estilo Listado Fabricantes
Traducción del tutorial al Español por victor-rodenas.com
Tutorial original en: nemops.com
*/
.all-brands .letter-select li {
float:left;
}
.all-brands .letter-select a {
padding: 11px;
font-weight: bold;
font-size: 14px;
display:block;
}
.all-brands .box-letter .box-title {
width: 100%;
display:block;
background: #ccc;
font-weight: bold;
height: 40px;
line-height: 40px;
padding-left: 10px
}
.all-brands .box-letter .letter-content {
line-height: 32px;
padding-left: 10px
}
.all-brands .box-letter p {
margin-bottom: 0;
float: left;
width: 25%;
}
.brands-by-letter {clear:both;}

Guía probada en Prestashop 1.7.0.5

Print Friendly, PDF & Email
Hosting Prestashop

Un pensamiento en “Mostrar fabricantes ordenados alfabéticamente en Prestashop 1.7

  1. Hola, muchas gracias por el artículo, yo en mi caso no quería meter fabricantes, pero si marcas. Con los fabricantes me ha dado un problema, al principio de hacer la tienda había metido unos 8 fabricantes y sin problema, pero derrepente un día no me dejaba guardar más por algun problema en los campos de dirección. Me pide Dni obligatorio cuando no hay campo de Dni y me pone que la dirección no es correcta que compruebe los campos de dirección, y todos los campos con asteristo estan rellenados. Supongo que he tocado algo en alguna parte y lo he estropeado. Pero bueno como no necesito los fabricantes tampoco me da mucho más. Pero Prestashop 1.7 ¿tiene módulo de marcas? no lo veo instalado ni para instalar. Quería que apareciesen en la web para crear más contenido, he creado dos marcas de prueba pero ni en el mapa del sitio aparecen si quiera.
    Muchas gracias, un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *