Ecco una query che mostra le relazioni con le tabelle che sono involed. Spero che aiuti. È possibile ottenerli singolarmente per ogni visualizzazione del negozio in questo modo.
Per recuperare l'etichetta per una vista vendite di un attributo (o qualsiasi altra cosa che viene memorizzato all'interno di queste tabelle) utilizzare:
SELECT
EA.attribute_id,
EA.entity_type_id,
EA.attribute_code,
EAL.value AS label
FROM `magento_eav_attribute` AS EA
INNER JOIN `magento_eav_attribute_option`
AS EAO ON EAO.attribute_id = EA.attribute_id
INNER JOIN `magento_eav_attribute_label`
AS EAL ON EAL.attribute_id = EA.attribute_id
WHERE
EAL.store_id = 0 AND
EA.attribute_code = 'color' LIMIT 0,1';
Per ottenere il valore di opzione che è legato alla vostra opzione per gestire l'uso qualcosa in questo modo:
SELECT *
FROM `magento_eav_attribute_option_value`
WHERE store_id = 0
AND option_id = YOUR_OPTION_ID;
o usare qualche unisce per collegare queste tabelle direttamente
SELECT
EA.attribute_id,
EA.entity_type_id,
EA.attribute_code,
EAOV.option_id,
EAOV.value_id,
EAOV.value,
EAL.value AS label
FROM `magento_eav_attribute` AS EA
INNER JOIN `magento_eav_attribute_option`
AS EAO ON EAO.attribute_id = EA.attribute_id
INNER JOIN `magento_eav_attribute_option_value`
AS EAOV ON EAOV.option_id = EAO.option_id
INNER JOIN `magento_eav_attribute_label`
AS EAL ON EAL.attribute_id = EA.attribute_id
WHERE
EAOV.store_id = 0 AND
EAOV.option_id = YOUR_OPTION_ID AND
EAL.store_id = '0' AND
EA.attribute_code = 'color';
So che questo non è un modo per cancellare i tuoi valori, ma forse ti aiuta a identificare un modo per recuperare i set di dati di cui hai bisogno.
Tutto il meglio.
fonte
2014-12-19 13:06:40
Pavel, Grazie per la risposta. Sono un principiante quindi ho bisogno di un po 'più di aiuto per favore. Come posso usare questo script per cancellare tutte le opzioni degli attributi? Se ho bisogno di scrivere in tutte le opzioni di attributo ci vorranno ore. Grazie – Haim
È possibile ottenere l'elenco di tutte le opzioni per l'attributo con il primo script. Come ho capito tu hai un elenco di opzioni obsolete, puoi scrivere un ciclo che controlla se il valore (etichetta) non è aggiornato e aggiungi il flag di cancellazione a questa opzione. Alla fine - esegui il metodo 'addAttributeOption()'. –
o stai cercando la soluzione completa? –