March 13, 2025Simon Walker

Come aggiungere la paginazione a una collezione personalizzata in Magento 2?

blog
Table of Content
  • Che cos'è la paginazione in Magento 2?
  • Cos'è una Collezione Personalizzata di Prodotti in Magento 2?
  • Impostazioni della Paginazione in Magento 2 – Aggiungere la Paginazione a una Collezione Personalizzata
  • Passaggio 1: Crea una Collezione per il Pager
  • Passaggio 2: Aggiungere la Collezione al Pager e Impostare il Limite di Paginazione in Magento 2
  • Passaggio 3: Ottenere il Blocco Figlio del Pager
  • Passaggio 4: Aggiungi il Codice Seguente nel File Phtml per Chiamare il Pager
  • Pensieri Finali sulla Configurazione della Paginazione di Magento 2 – Aggiungi la Paginazione alla Collezione Personalizzata
  • Domande Frequenti
  • Cosa si intende per Paginazione di Magento 2?
  • Cosa puoi dirmi sul limite delle collezioni di Magento 2?
  • Cosa succede se non imposto il limite della collezione di Magento 2?
  • Le impostazioni di paginazione di Magento 2 influenzano la SEO del mio negozio?

Prima di parlare delle impostazioni di paginazione in Magento 2, cerchiamo prima di capire il significato del termine stesso.

Che cos'è la paginazione in Magento 2?

È una tecnica di gestione dei contenuti, senza la quale la struttura del tuo store risulterebbe incomprensibile, causando un'esperienza utente negativa. Ma cosa si intende esattamente per paginazione? Il modo più semplice per descriverla è dire che si tratta di una tecnica che suddivide il contenuto di un sito web in più pagine. Supponiamo che tu abbia 100 prodotti in offerta.

Li mostreresti tutti insieme a un utente?

La risposta è no. Invece, potresti mostrarne solo 10 o 20 alla volta, a meno che l’utente non selezioni volontariamente un limite più alto. Il resto dei prodotti viene visualizzato su pagine separate. Spieghiamo questo concetto con un esempio: cercheremo "SSD" su Amazon UK. L'immagine sottostante mostra i risultati della ricerca.

 aggiungere l'impaginazione

Source: Amazon UK

Come puoi vedere dall'immagine sopra, ci sono oltre 1.000 risultati per "SSD". Se Amazon decidesse di mostrare tutti i 1000+ risultati contemporaneamente, immagina quanto tempo ci vorrebbe per caricare la pagina e quanta quantità di dati verrebbe consumata!
Per evitare lunghi tempi di caricamento e un elevato consumo di dati da parte dell’utente, Amazon mostra solo una selezione di prodotti. Il resto può essere visualizzato cliccando sulle pagine successive, come mostrato di seguito.

raccolta personalizzata

Source: Amazon UK

Questa è la paginazione già presente nelle collezioni predefinite di Magento 2. Tuttavia, nel caso di collezioni personalizzate in Magento 2, come gallerie di immagini, collezioni di prodotti, ecc., la paginazione deve essere aggiunta manualmente. Nel seguente tutorial, ti mostreremo tutto ciò che c’è da sapere su come aggiungere la paginazione a una collezione personalizzata in Magento 2.

Sebbene esistano diversi approcci per ottenere questo risultato, ti mostreremo il metodo più efficace e semplice per implementare la paginazione nella tua collezione personalizzata di Magento 2. Puoi anche richiedere assistenza allo sviluppo web Magento da FME Extensions, che non si limita solo alla creazione di un sito web, ma include anche consulenza, installazione e personalizzazione in base alle esigenze del tuo business.

Cos'è una Collezione Personalizzata di Prodotti in Magento 2?

Prima di approfondire l’argomento della paginazione in Magento 2 e di come aggiungerla alle collezioni personalizzate, è importante capire cos’è una collezione personalizzata di prodotti.

La collezione di prodotti mostra i tuoi articoli ai visitatori del sito. Per personalizzare l’esperienza dell’utente, puoi organizzare le collezioni utilizzando una vasta gamma di filtri e opzioni di ordinamento. Mentre le collezioni predefinite includono già la paginazione, le collezioni personalizzate come blog o gallerie di immagini richiedono che l’utente conosca i limiti di collezione in Magento 2.

Impostazioni della Paginazione in Magento 2 – Aggiungere la Paginazione a una Collezione Personalizzata

Passaggio 1: Crea una Collezione per il Pager

protected $newscollectionFactory;

public function __construct(\FME\News\Model\ResourceModel\News\CollectionFactory $newscollectionFactory) 

    { 


        $this->newscollectionFactory = $newscollectionFactory; 


    }

public function getNews()

    {

      //get values of current page. if not the param value then it will set to 1

        $page=($this->getRequest()->getParam('p'))? $this->getRequest()->getParam('p') : 1;

    //get values of current limit. if not the param value then it will set to 1

        $pageSize=($this->getRequest()->getParam('limit'))? $this->getRequest()->getParam('limit') : 1;

        $newsCollection = $this->newscollectionFactory->create();

        $newsCollection->setPageSize($pageSize);

        $newsCollection->setCurPage($page);

        return $newsCollection;

    }

Passaggio 2: Aggiungere la Collezione al Pager e Impostare il Limite di Paginazione in Magento 2

Il seguente passaggio aggiungerà il pager al layout e imposterà un limite per il numero di elementi da visualizzare su ogni pagina. Puoi definire questo limite in base alle tue esigenze, ma ti consigliamo di mantenerlo basso per non compromettere la velocità di caricamento della pagina.

Il limite dipende molto dalla dimensione dei contenuti: se stai caricando una collezione di immagini, potresti impostarlo tra 5 e 10; per una lista semplice, invece, puoi impostarlo tra 10 e 15. Impostare correttamente il limite di paginazione in Magento 2 è un’operazione delicata, poiché attualmente Magento 2 è piuttosto lento di per sé.

protected function _prepareLayout()

{

    parent::_prepareLayout();

    $this->pageConfig->getTitle()->set(__('News'));


    if ($this->getNews()) {

        $pager = $this->getLayout()->createBlock(

            'Magento\Theme\Block\Html\Pager',

            'fme.news.pager'

        )->setAvailableLimit(array(5=>5,10=>10,15=>15))->setShowPerPage(true)->setCollection(

            $this->getNews()

        );

        $this->setChild('pager', $pager);

        $this->getNews()->load();

    }

    return $this;

}

Passaggio 3: Ottenere il Blocco Figlio del Pager

Questa funzione restituirà un blocco con la paginazione e limiterà il numero di elementi da visualizzare.

public function getPagerHtml()

{

  return $this->getChildHtml('pager');
}

Passaggio 4: Aggiungi il Codice Seguente nel File Phtml per Chiamare il Pager

getPagerHtml()): ?>

getPagerHtml(); ?>


Pensieri Finali sulla Configurazione della Paginazione di Magento 2 – Aggiungi la Paginazione alla Collezione Personalizzata

Concludiamo il nostro articolo sulle impostazioni di paginazione di Magento 2 per le collezioni personalizzate. Abbiamo trattato vari argomenti importanti, tra cui la configurazione del limite di paginazione per le collezioni personalizzate. Se hai domande, non esitare a contattarci.

Altri articoli che dovresti leggere:

Domande Frequenti

1. Cosa si intende per Paginazione di Magento 2?

La paginazione è una tecnica con cui i proprietari dei negozi dividono il contenuto del sito web in più pagine anziché visualizzarlo tutto in una volta. Lo scopo è migliorare l'esperienza utente e ridurre i tempi di caricamento della pagina.

2. Cosa puoi dirmi sul limite delle collezioni di Magento 2?

Sebbene le collezioni predefinite includano la paginazione, le collezioni personalizzate come i blog o le liste di prodotti richiedono che l'amministratore conosca il limite delle collezioni di Magento 2. Questo implica l'implementazione di un limite per gestire la collezione di grandi dimensioni in modo efficiente.

3. Cosa succede se non imposto il limite della collezione di Magento 2?

Magento visualizzerà l'intera collezione in un'unica volta. Nel caso di una collezione di grandi dimensioni, ci vorrà molto più tempo per caricarla. Inoltre, il cliente dovrà navigare attraverso una pagina molto lunga. C'è una alta probabilità che la pagina non venga caricata correttamente a causa delle sue dimensioni, portando a una cattiva esperienza utente.

4. Le impostazioni di paginazione di Magento 2 influenzano la SEO del mio negozio?

Sì, una paginazione errata può influire negativamente sulla SEO del tuo negozio, poiché potrebbe creare problemi di contenuto duplicato. Per chi non lo sapesse, il contenuto duplicato può portare alla deindicizzazione delle tue pagine web. Pertanto, è importante utilizzare i tag rel="next" e rel="prev".

This blog was created with FME's SEO-friendly blog