Jump to content

Ordinamento Impaginazione


daninapoli

Recommended Posts

Salve a tutti. 

Nei parametri negozio - Prodotti - Ordine di default, trovo la voce "Data inserimento del prodotto" o "Data modifica".
Nel menù ho agganciato tutti i prodotti in offerta, ma qui non viene visualizzato la possibilità di ordinare per le voci indicate prima.

questa "Ordina per Data dell'aggiunta, dalla più recente alla meno recente"  non viene visualizzata, mentre se clicco su link nuovi prodotti è visibile.

cosa posso controllare ?

Link to comment
Share on other sites

Se usi il moduli dei filtri di base di Prestashop (Ricerca per Aspetti - ps_facetedsearch) questo aggiunge i 2 filtri solo per la pagina "nuovi prodotti", quindi andrebbe modificato il modulo per fare ciò che ti occorre, ovviamente però ad ogni aggiornamento del modulo perderesti la modifica.

Se non usi questo modulo e nessun altro modulo per i filtri, vale più o meno la stessa cosa del modulo Ricerca per aspetti in quanto Prestashop nella pagina "Nuovi prodotti" non aggiunge i due filtri, quindi dovresti apportare una modifica al SearchProvider dei Nuovi prodotti, ma anche in questo caso ad ogni aggiornamento di Prestashop perderesti la modifica.

Link to comment
Share on other sites

ho trovato questo codice:

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

    

dove effettivamente non c'è la data di aggiunta o modifica..
pensate si può aggiungere ?

Link to comment
Share on other sites

Dipende se usi o meno il modulo dei filtri.

Se usi il modulo dei filtri ps_facetedsearch, devi modificare il file SearchProvider.php che trovi nella cartella src/Product del modulo stesso.

Se non usi il modulo dei filtri, devi modificare il file NewProductsProductSearchProvider.php che trovi nella cartella src/Adapter/NewProducts.

Ovviamente va capito bene come fare, nel senso che io non ho provato la modifica, ho semplicemente fatto una analisi veloce del codice.
Ulteriore cosa, questi file non andrebbero modificati in quando in caso di aggiornamento perderesti le modifiche.
Potresti verificare se esistono degli hook che permettono di fare questa cosa senza dover mettere mano ai file.

Link to comment
Share on other sites

ho modificato questo pezzo di codice ma ho errore cosa sto sbagliando= 

 {
        $sortSalesDesc = new SortOrder('product', 'sales', 'desc');
        $sortPosAsc = new SortOrder('product', 'position', 'asc');
        $sortNameAsc = new SortOrder('product', 'name', 'asc');
        $sortNameDesc = new SortOrder('product', 'name', 'desc');
        $sortPriceAsc = new SortOrder('product', 'price', 'asc');
        $sortPriceDesc = new SortOrder('product', 'price', 'desc');
        $sortDateAsc = new SortOrder('product', 'date_add', 'asc');
        $sortDateDesc = new SortOrder('product', 'date_add', 'desc');
        $sortRefAsc = new SortOrder('product', 'reference', 'asc');
        $sortRefDesc = new SortOrder('product', 'reference', 'desc');
        $translator = $this->module->getTranslator();

        $sortOrders = [
            $sortSalesDesc->setLabel(
                $translator->trans('Sales, highest to lowest', [], 'Shop.Theme.Catalog')
            ),
            $sortPosAsc->setLabel(
                $translator->trans('Relevance', [], 'Shop.Theme.Catalog')
            ),
            $sortNameAsc->setLabel(
                $translator->trans('Name, A to Z', [], 'Shop.Theme.Catalog')
            ),
            $sortNameDesc->setLabel(
                $translator->trans('Name, Z to A', [], 'Shop.Theme.Catalog')
            ),
            $sortPriceAsc->setLabel(
                $translator->trans('Price, low to high', [], 'Shop.Theme.Catalog')
            ),
            $sortPriceDesc->setLabel(
                $translator->trans('Price, high to low', [], 'Shop.Theme.Catalog')
            ),
            $sortRefAsc->setLabel(
                $translator->trans('Reference, A to Z', [], 'Shop.Theme.Catalog')
            ),
            $sortRefDesc->setLabel(
                $translator->trans('Reference, Z to A', [], 'Shop.Theme.Catalog')
            ),
            $sortDateAsc->setLabel(
                $translator->trans('Date added, oldest to newest', [], 'Shop.Theme.Catalog')
            );
            $sortDateDesc->setLabel(
                $translator->trans('Date added, newest to oldest', [], 'Shop.Theme.Catalog')
            );
        ];

        if ($query->getQueryType() == 'new-products') {
            $sortOrders[] = $sortDateAsc->setLabel(
                $translator->trans('Date added, oldest to newest', [], 'Shop.Theme.Catalog')
            );
            $sortOrders[] = $sortDateDesc->setLabel(
                $translator->trans('Date added, newest to oldest', [], 'Shop.Theme.Catalog')
            );
        }

        return $sortOrders;
    }

 

 

Link to comment
Share on other sites

Hai messo il punto e virgola (;) al posto della virgola (,) come separatore dei valori dell'array.
Penso che dovresti rimuovere l'if (ed il suo contenuto) appena dopo l'array altrimenti penso che nella pagina dei nuovi prodotti ti visualizzerà 2 volte gli ordinamenti che stati aggiungendo.

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...