Domanda

TL; DR : C'è qualche motivo per cui i prodotti semplici associati ad un prodotto configurabile devono essere nello stesso set di attributi come il prodotto configurabile in sé? Voglio dire, c'è qualche tecnica motivo? So che il motivo "senso comune". Se vendi un paio di scarpe , allora tutte le versioni a seconda del colore e le dimensioni devono essere scarpe anche.
Versione lunga : ho avuto un compito di "merge" alcuni prodotti configurabili. Voglio dire da 2 o più per fare una sola. Non volevo fare manualmente a causa della quantità di prodotti e non volevo passare attraverso $product->load(..)->set...()->save() a causa della quantità di tempo impiegato per eseguire lo script. Così ho cortocircuitato il processo perché ero sicuro che nessuno dei prodotti semplici sovrapposti. C'era una combinazione unica di dimensione e colore. Ho fatto questo:

Mage::getResourceSingleton('catalog/product_type_configurable')
    ->saveProducts($mainConfigrableProduct, $simpleProductIds);

dove $simpleProductIds è una matrice di tutti i semplici ID prodotto associati tutti i prodotti configurabili che devono essere unite.
Questo ha funzionato perfettamente per la maggior parte dei prodotti, ma c'erano pochi che ha problemi.
Se ho chiamato

$productIds = $product->getTypeInstance()->getUsedProductIds() 

I otterrebbe tutti i semplici ID prodotto, ma nel backend solo pochi di loro è apparso. Dopo aver scavato per qualche tempo ho scoperto che le uniche che sono stati mostrati erano quelli dello stesso set di attributi del prodotto configurabile. L'altra serie attributo è molto simile alla prima, solo alcune differenze minori ma contiene gli attributi configurabili (dimensione e colore).
E ora la cosa strana. Nel frontend mi aspettavo di vedere sia tutti i prodotti ($ productIds nel codice sopra) o solo i prodotti della stessa set di attributi. Beh, c'era qualcosa tra.

  • 20 associati ID prodotto - 5 formati, 4 colori
  • 10 prodotti associati nel backend - 5 formati, 2 colori - gli altri 2 colori (10 prodotti) erano in un differente set di attributi
  • 15 combinazioni nel frontend - 5 formati 3 colori (???)

sono stato in grado di risolvere il problema modificando il set di attributi per i prodotti che non appaiono, ma sto ancora perplesso.

Nota : non provateci a casa. Oppure si può provare a casa, ma non su un server di vivere.

È stato utile?

Soluzione

Dopo aver chiesto intorno a questo sono le ragioni che ho. Speranza la sua soddisfazione per voi, anche se la sua, probabilmente quello che vi aspettavate.

  1. L'interfaccia adminhtml è stato fatto con l'intenzione di rendere difficile per i commercianti di totalmente rovinare.

Per questo motivo molte caratteristiche che sono forniti da Magento come un quadro non sono possibili tramite l'interfaccia utente.
Il motivo per cui solo i prodotti della stessa set di attributi sono selezionabili come associati prodotti semplici per configurabili è perché è quello che era nelle specifiche.
Come hai detto tu, che tipo di senso che modo.

  1. Un altro motivi sta pensando allo scopo di set di attributi. Uno dei motivi che esistono è quello di ridurre il numero di attributi e opzioni che devono essere caricati e processati durante una richiesta. L'applicazione di questo modo di pensare a configurabili ha senso, dal momento che è relativamente risorsa costosa tipo di prodotto.

Dato che il back-end è stato costruito in quel modo, la logica frontend per configurabile non era previsto a che fare con prodotti semplici da diversi set di attributi.
Ecco perché le restrizioni non sono implementate completamente lì.

Probabilmente sarebbe stato facile fare configurabili lavoro con semplici da diversi set di attributi. Semplicemente non era inteso in questo modo.

non ho chiesto più e non me stesso ho guardato per vedere che cosa l'interazione codice esattamente produce lo strano risultato sul frontend. Probabilmente la sua non è importante, dal momento che se ho capito bene dove chiedere il ragionamento alla base della decisione di escludere prodotti semplici da set di attributi diversi al configurabile, non il codice di spiegazione.

Altri suggerimenti

Usiamo un'estensione chiamata RapidFlow da Unirgy (che non posso che consigliare vivamente) per l'importazione e l'esportazione. Una delle caratteristiche della versione Pro permette di smontare set di attributi. Un altro è la creazione di prodotti tramite importazione CSV. Di tanto in tanto ci creare nuovi prodotti semplici per configurabili, e talvolta per caso quei prodotti semplici hanno diversi set di attributi rispetto ai loro genitori.

Rapidflow sarà lieto di importare questi prodotti, e set di attributi cambiamento. Noi non tendiamo soddisfatti dei risultati. prodotti configurabili configurati per attributi di fuori del loro set di attributi non riescono a rendering in Admin prodotto e devono essere riparate. Se non cambiamo il set di attributi del genitore, come avete notato, i bambini semplicemente non riescono a essere adeguatamente associato con i loro genitori. Essi esistono come entità Magento, possono essere modificati, ma non appariranno come bambini sulla pagina del prodotto front-end, o l'elenco dei prodotti associata del genitore configurabile.

Quindi, da un punto di vista puramente tecnico, è possibile per i prodotti semplici di essere in un diverso set di attributi rispetto ai loro genitori. Ma come questo comportamento non è supportato, anche in EE, e così Rasoio di Occam dice che quando stavano progettando Magento gli sviluppatori Varien non hanno visto la necessità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top