Jump to content

[RESOLU] Ajouter des critères de tri par date sur la page catégorie


Recommended Posts

Bonjour, 

Sur un PS 1.7.5.2, je souhaite ajouter dans la barre de tri qui se situe au-dessus des produits, un tri par date (plus vieux au plus récent et inversement)

Si je fais la modif dans le php du module ps_facetedsearch, ça fonctionne. Mais sur les pages où ce module n'apparaît pas (par exemple sur la page de résultat du module jolisearch), ou si je désactive ps_facetedsearch, je reviens aux critères de tri classiques

Dans les anciennes versions de Prestashop, on pouvait changer ça dans un tpl si mes souvenirs sont bons. Mais dans cette version, le code du fichier sort-order.tpl contient ceci 

<div class="dropdown-menu">
    {foreach from=$listing.sort_orders item=sort_order}
      <a
        rel="nofollow"
        href="{$sort_order.url}"
        class="select-list {['current' => $sort_order.current, 'js-search-link' => true]|classnames}"
      >
        {$sort_order.label}
      </a>
    {/foreach}

J'ai eu beau chercher dans les fichiers, je n'ai pas trouvé. Et sur Google, je n'ai trouvé que des solutions avec ps_facetedsearch.

Si une bonne âme pouvait m'indiquer le fichier à modifier, je lui en serais bien reconnaissante !

 

Merci d'avance

Edited by kerlin (see edit history)
Link to comment
Share on other sites

Je me réponds car j'ai finalement trouvé ! je n'avais pas encore été voir dans le dossier src ...

Il fallait donc modifier le fichier SortOrderFactory.php dans src/Core/Product/Search (les lignes avec date_add, asc et date_add, desc ont été ajoutées)

 public function getDefaultSortOrders()
    {
        return [
            (new SortOrder('product', 'position', 'desc'))->setLabel(
                $this->translator->trans('Relevance', array(), 'Shop.Theme.Catalog')
            ),
            (new SortOrder('product', 'name', 'asc'))->setLabel(
                $this->translator->trans('Name, A to Z', array(), 'Shop.Theme.Catalog')
            ),
            (new SortOrder('product', 'name', 'desc'))->setLabel(
                $this->translator->trans('Name, Z to A', array(), 'Shop.Theme.Catalog')
            ),
            (new SortOrder('product', 'price', 'asc'))->setLabel(
                $this->translator->trans('Price, low to high', array(), 'Shop.Theme.Catalog')
            ),
            (new SortOrder('product', 'price', 'desc'))->setLabel(
                $this->translator->trans('Price, high to low', array(), 'Shop.Theme.Catalog')
            ),
			(new SortOrder('product', 'date_add', 'desc'))->setLabel(
                $this->translator->trans('Date, new to old', array(), 'Shop.Theme.Catalog')
            ),
			(new SortOrder('product', 'date_add', 'asc'))->setLabel(
                $this->translator->trans('Date, old to new', array(), 'Shop.Theme.Catalog')
            ),
        ];
    }

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...