Sto imparando per l'esame di certificazione Magento e sto cercando di determinare in quali circostanze i prezzi dei prodotti vengono letti dalle tabelle indice in Magento.
Sto provando a seguire il flusso del metodo di Magento, ma ho bloccato dopo aver seguito alcune scia di conigli.
Forse qualcuno lo ha trovato in qualsiasi momento?In quali circostanze i prezzi dei prodotti vengono letti dalle tabelle indice in Magento?
risposta
Il prezzo del prodotto viene letto solo dalle tabelle indice quando si utilizzano raccolte di prodotti, ad esempio quando si gestiscono più prodotti contemporaneamente. Quando si ottiene un singolo prodotto, ad esempio nella pagina di visualizzazione del prodotto, il prezzo viene generato al volo.
E ora la spiegazione con alcuni riferimenti al codice:
Se si considera il Mage_Catalog_Model_Product
, si vedrà che il metodo getFinalPrice()
chiama $this->getPriceModel()->getFinalPrice($qty, $this);
A sua volta, il modello di prezzo predefinito (Mage_Catalog_Model_Product_Type_Price
) calcola il prezzo nel metodo getFinalPrice()
e licenzia anche l'evento catalog_product_get_final_price che viene utilizzato da alcuni moduli (penso che fosse il catalogo o le regole del prezzo del carrello) per regolare il prezzo. Questo metodo è un calcolo "al volo" quindi senza indici.
Nella raccolta (Mage_Catalog_Model_Resource_Product_Collection
) l'indicizzatore di prezzo viene utilizzato per ridurre la complicata procedura di calcolo del prezzo per ciascun prodotto. Esso definisce una mappa per assegnare i campi appropriati indicizzati campi:
protected $_map = array('fields' => array(
'price' => 'price_index.price',
'final_price' => 'price_index.final_price',
'min_price' => 'price_index.min_price',
'max_price' => 'price_index.max_price',
'tier_price' => 'price_index.tier_price',
'special_price' => 'price_index.special_price',
));
L'indicizzatore che fa il lavoro è la classe Mage_Catalog_Model_Product_Indexer_Price
.
- 1. Stima dei prezzi dei prodotti/stima dei costi
- 2. Realizzare breadcrumb coerenti sulle singole pagine dei prodotti in Magento?
- 3. In quali circostanze sono [ClassCleanup] e [TestCleanup] Non corro
- 4. Come posso trovare tutti i prodotti senza immagini in Magento?
- 5. Come rimuovere tutti i prodotti del catalogo in Magento
- 6. Ottenere prodotti da un ordine in Magento
- 7. In quali circostanze non riesce ConcurrentBag.TryTake()?
- 8. Pubblicazione sicura quando i valori vengono letti in metodi sincronizzati
- 9. Recupera tutti gli ID prodotto associati a una regola dei prezzi di catalogo in Magento
- 10. I prodotti non vengono visualizzati nella sottocategoria Magento2
- 11. Magento importa prodotti con immagini
- 12. Magento: aggiornamento dei cataloghi dei prodotti più veloce
- 13. Magento - Trova i prodotti disponibili con l'inventario
- 14. In quali circostanze TextToSpeech.isSpeaking() restituisce true?
- 15. API Magento: assegnazione di prodotti preesistenti semplici a prodotti configurabili
- 16. Come assegnare categorie per i prodotti in magento Programmaticamente
- 17. Aggiorna i prodotti a livello di codice in Magento
- 18. MAGENTO - Visualizza i prodotti della sottocategoria nella categoria radice
- 19. Raccolta prodotti Magento Ottieni solo prodotti da determinate categorie
- 20. Magento: come si ottengono prodotti associati del gruppo di prodotti?
- 21. Come rimuovere il titolo H1 dalle pagine CMS e dalle pagine delle categorie in Magento 2
- 22. Come rimuovere decimale dai prezzi Magento-1?
- 23. Magento Le tariffe IVA (IVA) non funzionano correttamente sui prezzi visualizzati: IVA aggiunta anche i prezzi di catalogo sono IVA
- 24. magento che mostra il conteggio dei prodotti errato nella categoria
- 25. Quali PEP devono essere letti?
- 26. Magento Configura prodotti con 100 di permutazioni
- 27. Confronto di due tabelle indice per valore indice in lua
- 28. Come posso estrarre i dati dalle tabelle HTML in Perl?
- 29. Magento: ordinamento di una raccolta di prodotti
- 30. Magento load collection di prodotti compresi prodotti disabilitati