Come applicare l'impostazione di visualizzazione di una categoria a tutte le categorie?


10

Ho molte categorie e invece di applicare le nuove impostazioni a tutte le categorie una per una, vorrei sapere se è possibile applicare le nuove impostazioni contemporaneamente a tutte le categorie?

Grazie!

Risposte:


13

Non è possibile farlo dall'interfaccia utente.
Il modo in cui lo faccio di solito è aggiornare i valori nel database. Non è l'approccio consigliato ma funziona.
Supponiamo che desideri aggiornare l' is_anchorattributo su "1" per tutte le categorie.

SELECT * FROM eav_attribute where attribute_code = 'is_anchor'

La query sopra dovrebbe darti l' is_anchorattributo. Nel record che risulta vedo che l'attributo id è 51 (potrebbe essere diverso per te). e lo backend_typeè int. Ciò significa che i valori per l'attributo sono nella tabella catalog_category_entity_int.

UPDATE `catalog_category_entity_int` set value = 1 where attribute_id = 51 and parent_id <> 0;

Questa query imposterà il valore 1 per l'attributo is_anchor (id 51), per tutte le categorie tranne la "radice di tutte le radici", la categoria con parent = 0.
Dopo aver eseguito la query, reindico le categorie flat e il gioco è fatto.


perfecto! esattamente quello che stavo cercando: D
Aamir Siddique

7
Query SQL aggiornata per le versioni più recenti di Magento (ad esempio, non avevo la colonna parent_id). UPDATE catalog_category_entity_intimposta valore = 1 dove attributo_ID = (SELEZIONA attributo_ID DA eav_attributedove attributo_codice = 'is_anchor');
Jasuten,

@Marius non funziona nel mio caso provo UPDATE catalog_category_intset value = 1 dove attributo_ID = 51 e parent_id <> 0; ma errore: # 1146 - La tabella 'magento1.catalog_category_int' non esiste
Dinesh

1
@Dinesh significa che c'è qualcosa che non va nella tua istanza di magento.
Marius

@Marius come trovarlo e risolverlo, qualsiasi aiuto
Dinesh,

2

Non sono sicuro di quali impostazioni stai cambiando nella tua categoria, ma se è nell'elenco delle opzioni in questa pagina , allora usare l'API REST di Magento è probabilmente la tua migliore opzione.


1

Innanzitutto identifica l'id dell'attributo dell'attributo is_anchor:

SELECT * FROM eav_attribute where attribute_code = 'is_anchor';

otteniamo l'ID attributo 51 nel mio database. Ora esegui la seguente query

UPDATE catalog_category_entity_int set value = 1 where attribute_id = 51;

sostituire 51 con il proprio ID attributo. E ricostruisci questi indici

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.