Wie funktioniert Magento speichern bestellten Produkte in der Datenbank?
Sende ich nach einer Bestellung , wie funktioniert Magento speichern Sie die Produkte bestellen (in sales_flat_order_item Tabelle). Ich brauche die Dateien, weil ich Sie speichern möchten, den regulären Preis in der Datenbank auch; wenn Sie spezielle Preis-Magento speichert nur den Sonderpreis in der Datenbank, wenn jemand eine Bestellung machen.
Oder hat jemand eine Idee, wie kann ich das speichern der reguläre Preis in der Datenbank für jedes bestellte Produkt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Langsam? Sorgfältig? Mit SQL? Ich kid, I kid.
In aller Ehrlichkeit, ja Sie sind richtig, dass nur die Daten gespeichert, die auf die Auftragsposition Tabelle ist der Preis, den der Kunde tatsächlich bezahlt (im Gegensatz zum regulären Preis). Wenn Sie möchten, speichern Sie Ihre zusätzlichen Daten, die auf die Tabelle, tun Sie den folgenden:
Nun, sollten Sie haben, die Daten in der DB und in der Lage sein, um es abzurufen normal wie jede andere Spalte. Hoffe, das hilft!
Dank,
Joe
$product = Mage::getModel('catalog/product'); $product->load($item->getProductId()); $price = 0; if($product->getData('special_price') != null && $product->getData('special_price') > 0){ $price = $product->getData('price'); }
und ein zusätzliches Feld, um$orderItem = Mage::getModel('sales/order_item') ->setRegularPrice($price)
.Ich bin neugierig, warum Sie noch brauchen, um den ursprünglichen Preis in der Tabelle gespeichert ist... könnte Man immer schauen Sie auf die Fliegen, wenn Sie die Schleife durch die Elemente einer Bestellung:
Oder Sie können schreiben Sie Ihren eigenen Modul, das schafft, entweder die neue Spalte in 'sales_flat_order_item', oder erstellen Sie Ihre eigene Tabelle, die auf die bestimmte id in dieser Tabelle. Sie können Ihre Modul beachten um Erfolg, Ereignis, und die Schleife über alle Produkte in der Reihenfolge, und setzen Sie den Wert in der Datenbank.
Wie Joseph sagte in einem Kommentar vor, Sie sollten NIE zu ändern, die core-code. Wenn Sie eine änderung vornehmen müssen, schreiben, ein richtiges Modul zu tun. Wenn Sie ändern der Kern-code (oder, meiner Meinung nach, wenn Sie erstellen das Verzeichnis: app/code/local/Mage/), dann sind Sie etwas falsch machen.