In Magento 2 wird über die Tabellen sequence_order_* geregelt, welche Bestellnummer für welchen Store View als nächste Nummer vergeben wird. Hierbei steht am Ende die ID des Store Views. Also finden sich in sequence_order_1 die Bestellnummern für Store View 1.…
PayPal Transaktionsnummer herausfinden (Magento 1)
Mit dem folgenden Code können Sie die PayPal Transaktionsnummer einer Magento Bestellung herausfinden:
1 |
$transactionId = $order->getPayment()->getLastTransId(); |
Sortierung Produkte in Bestellung nach SKU/Artikelnummer (Magento 1)
Wenn Sie die Sortierung der bestellten Produkte in der Bestellansicht so ändern möchten, dass nach SKU / Artikelnummer sortiert wird, überschreiben Sie einfach die app/design/adminhtml/default/default/template/sales/order/view/items.phtml in Ihrem Theme und ersetzen
1 2 3 4 5 6 7 8 |
<?php $_items = $this->getItemsCollection() ?> <?php $i=0;foreach ($_items as $_item):?> <?php if ($_item->getParentItem()) continue; else $i++;?> <tbody class="<?php echo $i%2?'even':'odd' ?>"> <?php echo $this->getItemHtml($_item) ?> <?php echo $this->getItemExtraInfoHtml($_item) ?> </tbody> <?php endforeach; ?> |
mit
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $_items = $this->getItemsCollection() ?> <?php $_sortedItems = array(); ?> <?php foreach ($_items as $_item) : ?> <?php $_sortedItems[$_item->getSku()] = $_item;?> <?php endforeach;?> <?php ksort($_sortedItems); // Hier findet die Sortierung nach Keys statt ?> <?php $i=0;foreach ($_sortedItems as $_item):?> <?php if ($_item->getParentItem()) continue; else $i++;?> <tbody class="<?php echo $i%2?'even':'odd' ?>"> <?php echo $this->getItemHtml($_item) ?> <?php echo $this->getItemExtraInfoHtml($_item) ?> </tbody> <?php endforeach; ?> |
Fertig. Wenn Sie nun eine Bestellung öffnen…
Bestellung mit Optionen im Code erstellen (Magento 1)
Eine Bestellung inkusive der indivduellen Optionen kann mit dem folgenden Code erstellt werden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$quote = Mage::getModel('sales/quote')->setStoreId(Mage::app()->getStore('default')->getId()); $quote->setCustomerEmail($mail); $product = Mage::getModel('catalog/product')->load($productId); $buyInfo = array( 'qty' => 1, 'options' => array($optionId => $optionValue) ); $quote->addProduct($product, new Varien_Object($buyInfo)); $addressData = array( 'firstname' => $firstName, 'lastname' => $lastName, 'street' => $street, 'city' => $city, 'postcode' => $postCode, 'telephone' => '-', 'country_id' => $country, 'region_id' => $regionId, ); $billingAddress = $quote->getBillingAddress()->addData($addressData); $shippingAddress = $quote->getShippingAddress()->addData($addressData); $shippingAddress->setCollectShippingRates(true)->collectShippingRates() ->setShippingMethod('flatrate_flatrate') ->setPaymentMethod('bankpayment'); $quote->getPayment()->importData(array('method' => 'bankpayment')); $quote->collectTotals()->save(); $service = Mage::getModel('sales/service_quote', $quote); $service->submitAll(); $order = $service->getOrder(); // ... |
Bestellungen finden, die mindestens ein Item mit einem bestimmten Attributset haben (Magento 1)
Sie möchten alle Magento Bestellungen finden, die mindestens ein Item mit einem bestimmten Attribut Set haben? Nutzen Sie die folgende Abfrage:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/* 9 = attribute set Id */ select increment_id, created_at, entity_id from sales_flat_order where entity_id not in ( SELECT o.entity_id FROM sales_flat_order o LEFT JOIN sales_flat_order_item i ON o.entity_id = i.order_id LEFT JOIN catalog_product_entity p ON i.product_id = p.entity_id WHERE p.attribute_set_id = 9 ) |
Tracking Informationen einer Bestellung auslesen (Magento 1)
Um die Tracking Informationen einer Magentobestellung auszulesen, kann der folgende Code genutzt werden:
1 2 3 4 |
$trackingCollection = $order->getTracksCollection(); $firstItem = $trackingCollection->getFirstItem(); $trackingNumber = $firstItem->getNumber(); ... |
Bestellung / Bestelldaten auf der success.phtml auslesen (Magento 1)
Um die Daten einer Magento Bestellung auf der Seite für erfolgreiche Bestellungen (success.phtml) auszulesen, müssen Sie zuerst ein Order Objekt erstellen. Danach können Sie auf die Daten zugreifen. Der Code könnte so aussehen:
1 2 3 |
$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId()); $date = $order->getCreatedAtStoreDate(); // ... |
Versandadresse für eine Bestellung auslesen (Magento 1)
Um die Versandadresse einer Magento Bestellung (Order) auszulesen, verwenden Sie diesen Code:
1 |
$address = $order->getShippingAddress(); |
Magento State einer Bestellung auf vollständig oder geschlossen setzen
Normalerweise lässt der Magento Code eine Änderung des STATE einer Bestellung auf VOLLSTÄNDIG oder GESCHLOSSEN nicht zu. Man bekommt eine Fehlermeldung (The Order State “complete” must not be set manually). Natürlich lässt sich das Problem lösen, indem man die Order.php…