Ordenar alfabéticamente las etiquetas en el bloque de etiquetas de Prestashop

Para ordenar alfabéticamente las etiquetas, en el bloque de etiquetas de Prestashop, podemos hacer lo siguiente:

Vamos al fichero:

/classes/Tag.php

Buscamos lo siguiente:

public static function getMainTags($id_lang, $nb = 10)
{
$groups = FrontController::getCurrentCustomerGroups();
$sqlGroups = (count($groups) ? 'IN ('.implode(',', $groups).')' : '= 1');
return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT t.name, COUNT(pt.id_tag) AS times
FROM `'._DB_PREFIX_.'product_tag` pt
LEFT JOIN `'._DB_PREFIX_.'tag` t ON (t.id_tag = pt.id_tag)
LEFT JOIN `'._DB_PREFIX_.'product` p ON (p.id_product = pt.id_product)
WHERE t.`id_lang` = '.(int)($id_lang).'
AND p.`active` = 1
AND p.`id_product` IN (
SELECT cp.`id_product`
FROM `'._DB_PREFIX_.'category_group` cg
LEFT JOIN `'._DB_PREFIX_.'category_product` cp ON (cp.`id_category` = cg.`id_category`)
WHERE cg.`id_group` '.$sqlGroups.'
)
GROUP BY t.id_tag
ORDER BY times DESC
LIMIT 0, '.(int)($nb));
}

Y cambiamos esto:

ORDER BY times DESC

Por esto:

ORDER BY p.`name` ASC
Print Friendly

Un pensamiento en “Ordenar alfabéticamente las etiquetas en el bloque de etiquetas de Prestashop

  1. Muchas gracias Víctor, yo para las etiquetas quería que salieran aleatorias, por eso he dejado la linea que has indicado que había que cambiar así:
    ORDER BY Rand()

    funciona correctamente.

Los comentarios están cerrados.