Approfondimento sugli interni di Magento qui, non cercando una soluzione a un problema concreto, solo cercando di capire alcuni dettagli di implementazione.Perché la relazione tra un prodotto configurabile e un prodotto semplice viene memorizzata due volte?
Quando si crea un prodotto configurabile in Magento, e quindi creare bambino prodotti semplici da implementare cose come la dimensione della camicia, il colore, ecc, i negozi Magento questo rapporto in due tavoli separati.
catalog_product_relation
catalog_product_superlink_table
Perché queste relazioni vengono archiviate due volte?
È questo codice legacy o esiste una distinzione semantica tra un collegamento di relazione di prodotto e un collegamento "superlink" di prodotto?
Il sistema si aspetta che siano uguali oppure è uno stato di oggetto valido per avere queste tabelle che rappresentano relazioni genitore/figlio diverse?
Tutto è più semplice. I tipi di prodotti configurabili sono stati sviluppati quando non esistevano indici di relazione. Era persino il primo tipo di prodotto composito. Ovviamente aveva un tavolo proprio in quel momento. Non appena sono stati creati più materiali compositi, la tabella delle relazioni è stata creata per unificare la logica di recupero dei prodotti figlio/genitore per gli indici e le altre funzionalità in cui è richiesta. –
Ah, questo ha molto senso! Grazie per aver chiarito, Ivan. – Vinai