# Posizioni Prodotti — Guida completa

> Presentazione Il modulo Posizioni Prodotti offre un'interfaccia moderna in drag & drop per riorganizzare i prodotti nelle tue categorie PrestaShop, accompagnata da potenti strumenti di ordinamento automatico e da un…

- Pagina: <https://www.datafirefly.com/it/documentation/dfproductpositions/>
- Lingua: it
- Aggiornato il: 2026-07-25
- Altre lingue: [fr](https://www.datafirefly.com/documentation/dfproductpositions/index.md), [en](https://www.datafirefly.com/en/documentation/dfproductpositions/index.md), [es](https://www.datafirefly.com/es/documentation/dfproductpositions/index.md), [de](https://www.datafirefly.com/de/documentation/dfproductpositions/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfproductpositions/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfproductpositions/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfproductpositions/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

## Presentazione

Il modulo Posizioni Prodotti offre un'interfaccia moderna in drag & drop per riorganizzare i prodotti nelle tue categorie PrestaShop, accompagnata da potenti strumenti di ordinamento automatico e da un sistema di fissaggio che protegge le posizioni scelte dalle modifiche automatizzate (import ERP, CSV, script di terze parti).

Il modulo è compatibile con PrestaShop 8 e 9, sia in negozio singolo che in multinegozio, ed è completamente multilingua (FR, EN, ES, DE, IT). Scrive direttamente nella colonna `position` standard di PrestaShop: l'ordine definito nel back-office appare identico in front-office, senza configurazione aggiuntiva né integrazione nel tema.

## Compatibilità e prerequisiti

- **PrestaShop da 8.0 a 9.x** — un unico pacchetto copre entrambe le branch, senza configurazione particolare.
- **PHP da 8.0 a 8.4.**
- Negozio singolo e multinegozio.
- Nessuna dipendenza Composer, nessun servizio esterno, nessun JavaScript di terze parti: jQuery e jQuery UI sono forniti nativamente da PrestaShop.
- PrestaShop 1.7 non è supportato: l'API admin e il sistema degli hook differiscono troppo per garantire un comportamento affidabile.

La compatibilità con PrestaShop 9 è disponibile a partire dalla versione 1.2.0 del modulo. Se migri un negozio PrestaShop 8 verso PrestaShop 9, installa l'ultima versione del modulo prima o dopo l'aggiornamento: le tue posizioni e i tuoi fissaggi vengono conservati, poiché la tabella dei fissaggi non viene modificata dall'aggiornamento.

## Installazione

1. Dal back-office, apri **Moduli > Gestore dei moduli**.
2. Clicca su **Carica un modulo** e rilascia l'archivio ZIP.
3. A installazione completata, la voce **Catalogo > Posizioni prodotti** compare nel menu.

All'installazione, il modulo crea una tabella dedicata al sistema di fissaggio e registra gli hook necessari al ripristino automatico delle posizioni bloccate.

Per **aggiornare** il modulo, carica semplicemente il nuovo archivio sopra il precedente: gli script di migrazione vengono eseguiti automaticamente e i tuoi fissaggi e le tue posizioni sono preservati.

## Interfaccia

La schermata di gestione è composta da tre zone principali:

- **Albero delle categorie** a sinistra: navigazione completa nella gerarchia, ricerca istantanea, contatore prodotti e contatore fissaggi per ogni categoria.
- **Barra degli strumenti** in alto a destra: ricerca nella categoria corrente, menu _Blocco_ (arancione) e menu _Ordinamento automatico_ (viola).
- **Elenco dei prodotti** al centro: ogni prodotto dispone di una maniglia per il drag & drop, di un numero di posizione modificabile con un click e di quattro azioni rapide — fissare, portare in cima, portare in fondo, modificare la scheda.

I selettori di negozio e di lingua in alto permettono di cambiare contesto senza lasciare la pagina.

## Riorganizzare i prodotti manualmente

### Trascinamento

Afferra la maniglia a sinistra di un prodotto e trascinalo nella posizione desiderata. Le posizioni vengono salvate automaticamente al rilascio.

### Modifica diretta del numero

Clicca sul numero di posizione di un prodotto per modificarlo da tastiera. Conferma con Invio; premi Esc per annullare. Il modulo sposta automaticamente gli altri prodotti per integrare la nuova posizione.

### Pulsanti «In cima» e «In fondo»

Due pulsanti rapidi mandano un prodotto alla prima o all'ultima posizione della categoria con un solo click.

## Ordinamento automatico

Il menu **Ordinamento automatico** applica una classifica a tutti i prodotti della categoria secondo il criterio scelto. I criteri disponibili sono:

- **Per nome**: dalla A alla Z o dalla Z alla A, in base al nome nella lingua corrente.
- **Per prezzo**: crescente o decrescente.
- **Per stock**: stock più alto prima o stock più basso prima, con ordine alfabetico come spareggio.
- **Per vendite (ultimi 90 giorni)**: più venduti o meno venduti prima, calcolato sugli ordini validi del negozio corrente.
- **Più recenti / più vecchi**: in base alla data di aggiunta del prodotto.
- **Riferimento dalla A alla Z**: ordine alfabetico per riferimento interno.
- **Invertire l'ordine attuale**: capovolge l'intero elenco.
- **Mescolamento casuale**: un ordine casuale a ogni esecuzione.

L'opzione **Applica anche alle sottocategorie** propaga l'ordinamento a tutte le categorie discendenti in una sola operazione.

I prodotti fissati mantengono la loro posizione durante l'ordinamento: vengono riorganizzati solo i prodotti non fissati (vedi la sezione seguente).

## Fissaggio delle posizioni

Il fissaggio consente di bloccare la posizione di un prodotto affinché non cambi né durante un ordinamento automatico, né in seguito a una modifica esterna (import ERP, aggiornamento della scheda dal back-office, script). È uno strato di protezione opzionale: senza fissaggio, il tuo ordine manuale resta valido finché non lanci un ordinamento automatico e finché nessun sistema esterno tocca le posizioni.

### Fissare un singolo prodotto

Su ogni riga prodotto, l'icona di fissaggio commuta lo stato fissato / non fissato del prodotto nella categoria corrente. Un prodotto fissato riceve un bordo arancione e un piccolo badge di fissaggio sul suo numero di posizione. Il contatore dei fissati nella barra di stato e nell'albero si aggiorna automaticamente.

Puoi sempre spostare manualmente un prodotto fissato (drag & drop, modifica diretta, pulsanti rapidi): la posizione bloccata segue allora il movimento. Vengono bloccati solo l'ordinamento automatico e le modifiche esterne.

### Bloccare l'intera categoria

Il menu **Blocco > Bloccare l'intera categoria** fissa in un colpo solo tutti i prodotti della categoria corrente alla loro posizione attuale. È l'opzione consigliata per i cataloghi alimentati da un ERP che risincronizza regolarmente le categorie: una volta bloccata la categoria, nessun import esterno può modificarne l'ordine.

### Sbloccare tutto

L'opzione **Sbloccare tutto** rimuove tutti i fissaggi della categoria corrente in una sola azione. Le posizioni attuali vengono conservate; viene rimossa solo la protezione.

### Ripristinare le posizioni fissate

L'opzione **Ripristinare le posizioni fissate** riesegue manualmente l'algoritmo di ripristino sulla categoria corrente. Utile dopo un import consistente per verificare visivamente che tutte le posizioni bloccate siano tornate al loro posto — anche se l'hook di ripristino automatico si attiva già a ogni aggiornamento prodotto.

## Casi d'uso

### Mettere i primi N prodotti a mano, il resto ordinato dalla A alla Z

Scenario frequente: posizionare manualmente i primi 5 o 10 prodotti di una categoria (prodotti in evidenza, best seller, novità) e poi ordinare alfabeticamente tutto il resto.

1. Seleziona la categoria nell'albero.
2. Disponi i tuoi primi N prodotti nell'ordine desiderato (drag & drop o modifica diretta).
3. Clicca sull'icona di fissaggio di ciascuno di questi N prodotti.
4. Apri **Ordinamento automatico > Per nome > dalla A alla Z**.

Gli N prodotti fissati restano alle loro posizioni; gli altri prodotti vengono ordinati alfabeticamente a partire dalla posizione N+1. Lo stesso meccanismo funziona con tutti i criteri di ordinamento.

### Proteggere una categoria da un import ERP

Scenario frequente: il tuo ERP o uno script esterno risincronizza regolarmente i collegamenti prodotto / categoria, azzerando le posizioni.

1. Organizza la categoria nell'ordine voluto.
2. Apri **Blocco > Bloccare l'intera categoria**.
3. Conferma: tutti i prodotti vengono fissati alla loro posizione attuale.

Da quel momento, ogni aggiornamento di un prodotto bloccato che passa da PrestaShop — scheda prodotto del back-office, webservice, import CSV nativo, modulo di terze parti che manipola l'oggetto `Product` — attiva automaticamente il ripristino della sua posizione originale.

Uno script che scrive direttamente nel database, senza passare dall'oggetto `Product`, non attiva alcun hook di PrestaShop: il ripristino automatico non può quindi avvenire. In questo caso lancia **Blocco > Ripristinare le posizioni fissate** dopo l'import, oppure richiama questo ripristino al termine del tuo script di sincronizzazione.

## Multinegozio

Il modulo è pienamente compatibile con la funzionalità multinegozio di PrestaShop. Il selettore di negozio in cima all'interfaccia cambia il contesto. Le posizioni e i fissaggi sono indipendenti per coppia (categoria, negozio): fissare un prodotto nel negozio A non lo blocca nel negozio B.

## Multilingua

L'interfaccia del back-office è tradotta in francese, inglese, spagnolo, tedesco e italiano. Il selettore di lingua in cima allo schermo cambia la lingua dell'albero e dei nomi prodotto visualizzati; le posizioni sono comuni a tutte le lingue di un negozio (comportamento nativo di PrestaShop).

## Prestazioni

Il modulo utilizza query SQL ottimizzate con join sugli indici esistenti (`category_product`, `product_shop`, `stock_available`). Il salvataggio delle posizioni è temporizzato lato JavaScript per evitare richieste successive durante riorganizzazioni rapide. La tabella dei fissaggi dispone di una chiave primaria composita e di due indici secondari per ripristini molto rapidi, anche su categorie di diverse centinaia di prodotti. Il ripristino è inoltre protetto contro la rientranza, il che evita qualsiasi ciclo durante gli aggiornamenti di massa.

## Disinstallazione

La disinstallazione del modulo elimina la tabella dei fissaggi e la voce di menu corrispondente. Le posizioni in `category_product` restano intatte: il tuo ordine attuale è preservato. Viene rimossa solo la protezione (fissaggio e ripristino automatico).

## FAQ

### Bisogna fissare ogni prodotto perché l'ordine manuale venga conservato?

No. L'ordine definito con drag & drop o tramite modifica diretta viene salvato nella colonna `position` standard di PrestaShop e vi resta finché nessun ordinamento automatico o import esterno lo modifica. Il fissaggio è uno strato di protezione opzionale, utile solo se vuoi combinare posizioni manuali e ordinamento automatico, o se il tuo ERP tocca i collegamenti prodotto / categoria durante gli import.

### L'ordine definito nel back-office viene riprodotto in front-office?

Sì, senza configurazione aggiuntiva. Il modulo scrive nella colonna nativa `category_product.position` che PrestaShop usa già per ordinare gli elenchi di prodotti in front. Non è richiesta alcuna integrazione nel tema né alcun hook aggiuntivo.

### Il mio ERP risincronizza le categorie a ogni import: cosa devo fare?

Apri il menu **Blocco > Bloccare l'intera categoria**. In questo modo tutti i prodotti vengono fissati in un colpo solo alla loro posizione attuale. L'hook di ripristino automatico rimette poi le posizioni al loro posto ogni volta che l'ERP modifica un prodotto bloccato tramite l'oggetto `Product`. Se il tuo ERP scrive direttamente in SQL, aggiungi una chiamata a **Ripristinare le posizioni fissate** al termine dell'import.

### Si può spostare un prodotto fissato?

Sì. Il fissaggio protegge dalle _modifiche automatiche_ (ordinamento automatico, import esterni). Quando sposti manualmente un prodotto fissato (drag & drop, modifica della posizione, pulsante _in cima_ o _in fondo_), la posizione bloccata viene aggiornata per seguire il movimento.

### L'ordinamento automatico funziona con le sottocategorie?

Sì. Spunta l'opzione **Applica anche alle sottocategorie** nel menu di ordinamento per propagare il criterio a tutte le sottocategorie della categoria corrente in una sola operazione.

### Il modulo è compatibile con PrestaShop 9?

Sì, dalla versione 1.2.0. Lo stesso pacchetto copre PrestaShop da 8.0 a 9.x, sia in negozio singolo che in multinegozio, senza dipendenze Composer né JavaScript esterno (jQuery e jQuery UI sono forniti nativamente da PrestaShop).

### Il modulo sostituisce la schermata nativa delle posizioni di categoria?

No, la completa. La schermata nativa di PrestaShop resta disponibile; il modulo fornisce un'interfaccia più moderna con il fissaggio e l'ordinamento multi-criterio in più.

### L'elenco dei prodotti non si carica, oppure la ricerca si comporta in modo strano.

Svuota la cache di PrestaShop (**Parametri avanzati > Prestazioni**) e ricarica la pagina forzando l'aggiornamento del browser. Il modulo aggiunge un numero di versione ai suoi file CSS e JS, ma una cache del browser o un proxy aggressivo possono comunque conservare una copia vecchia dopo un aggiornamento.
