Per ordinare un elendo di ordini in Magento, si può usare il metodo:
addAttributeToSort($attributo, dir="asc");
Un esempio, che carica gli ordini ordinati per data di creazione:
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$orders = Mage::getModel('sales/order')->getCollection()
->addAttributeToSelect("*");
$orders->addAttributeToSort('created_at', $dir="desc");
testato con la versione 1.5.0.1.
La versione di Magento è la 1.5.0.1.
Questa funzione elimina un ordine con relative fatture, note di credito e spedizioni. Da usare sotto la supervisione di un adulto.
function deleteOrder($orderId) {
$order = Mage::getModel('sales/order')->load($orderId);
$invoices = $order->getInvoiceCollection();
foreach ($invoices as $invoice){
$invoice->delete();
}
$creditnotes = $order->getCreditmemosCollection();
foreach ($creditnotes as $creditnote){
$creditnote->delete();
}
$shipments = $order->getShipmentsCollection();
foreach ($shipments as $shipment){
$shipment->delete();
}
$order->delete();
return 0;
}
Capita, o almeno a me è successo, che dopo aver inserito nuovi prodotti in magento, ci sia la necessità di applicare tutte le regole sui prezzi (sconti, ecc..) esistenti ai nuovi prodotti inseriti. Questa funzione lo fa:
function applicaRegolePrezzi() {
try {
Mage::getModel('catalogrule/rule')->applyAll();
Mage::app()->removeCache('catalog_rules_dirty');
echo "Regole applicate con successo";
} catch (Exception $e) {
echo "Impossibile applicare le regole" . $e;
}
}