Errore php Zip extension not available on this server
12 Settembre 2017
Alcuni trucchi per la configurazione di un form in WordPress con Contact Form 7
20 Dicembre 2017

ATTENZIONE: quella suggerita è un’operazione complessa che richiede un minimo di competenza da un punto di vista sistemistico. Lo staff tecnico di ITACAD s.r.l. è disponibile a prendere in carico il problema e risolverlo dopo l’apertura di un ticket di assistenza.

In alcune situazioni può capitare che il breadcrumb di una categoria in Prestashop sia scorretto, facendo riferimento a categorie cancellate in precedenza.

In presenza di questo problema bisogna operare sulla tabella ps_category utilizzando uno strumento tipo phpMyAdmin: il problema è legato a record di categorie in cui il campo id_parent punta ad una categoria inesistente.

Per avere un elenco delle categorie problematiche si può usare la query

select c1.*, c2.id_category from ps_category c1 left join ps_category c2 on (c2.id_category = c1.id_parent) where c2.id_category is null and c1.id_parent <> 0

che lista tutte le categorie che fanno riferimento ad una categoria padre inesistente.

In linea di massima si possono cancellare i record errati, dopo aver fatto una copia di sicurezza del database.

4 Comments

  1. Pianeta Svapo ha detto:

    Ciao,
    ho il problema che descrivi tu ma se interrogo la tabella mysql con il codice
    select c1.*, c2.id_category from ps_category c1 left join ps_category c2 on (c2.id_category = c1.id_parent) where c2.id_category is null and c1.id_parent <> 0
    ottengo questi errori:
    inizio di statement inatteso (vicino a gt)
    inizio di statement inatteso (vicino a 0)
    Hai qualche soluzione o sto sbagliando ad interrogare il db? Puoi essere più esplicito nella richiesta? Comunque grazie per l’ottimo blog!

  2. Giorgio Mancuso ha detto:

    Ciao,
    benche il post sia un po’ datato, la query è ancora valida e funzionante. Ho però notato che nei vari aggionamenti di WordPress l’operatore logico “<>” presente nell’ultimo test (c1.id_parent <> 0) è stato “tradotto” in codice HTML (><) generando l’errore. Ora l’ho corretto.

    ATTENZIONE: quella suggerita è un’operazione complessa che richiede un minimo di competenza da un punto di vista sistemistico (ad esempio sapere fare un backup del database ed eventualmente ripristinarlo in caso di problemi)

  3. Pianeta Svapo ha detto:

    Caro Giorgio,
    ti ringrazio innanzitutto della risposta ma voglio informarti subito che mi riferivo a prestashop e non a WP.

    Un minimo di competenza lo abbiamo e certamente so fare un BU del db e ripristinarlo. Il problema è che se mando il comando select incollando la stringa ricevo quei due errori che ti ho segnalato.

    Non so se puoi aiutarmi. Saluti

    • Giorgio Mancuso ha detto:

      Mi sono riferito a WordPress perchè questo blog è basato su questa piattaforma e con il passare degli aggiornamenti alcuni caratteri sono stati convertiti in codici html.
      La query funziona ancora, l’ho verificata su Prestashop 1.7.
      Bisogna solo essere sicuri che il copia-incolla sia fedele, soprattuto in presenza dei caratteri maggiore e minore

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *