Archive

Author Archive

Magento: ordinare un elenco di ordini

November 23rd, 2011 Nicola No comments

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.

Categories: Magento Tags: ,

Magento: eliminare un ordine

November 15th, 2011 Nicola No comments

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;
}
Categories: Magento Tags: , ,

Magento 1.5.0.1: applicare tutte le regole sui prezzi

October 24th, 2011 Nicola No comments

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;
        }
}
Categories: Magento Tags: ,

WordPress, gestione del backup con virtualhost diversi

August 25th, 2011 Nicola No comments

Wodrpress salva nella tabella option e in altre tabelle molti riferimenti al’url del sito. Per esempio, nella tabella wp_options esistono due valori di option_name:

  • siteurl
  • home

che nel caso di questo blog hanno valore http://www.nicolacolonna.it.
Il problema sorge quando replico in locale l’intero blog, creando sotto apache un virtualhost di nome per esempio http://nicolabackup.it
Navigando sul sito in locale tutti i riferimenti presi dal db sono comunque riferiti a http://www.nicolacolonna.it e non a http://nicolabackup.it.
Questo problema si risolve aggiungendo queste due righe al wp-config.php:

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);

Questi define sovrascrivono a runtime (senza toccare il database) i due valori relativi al siteurl e alla home ed il sito diventa navigabile correttamente da qualsiasi url sia impostato nella definizione del virtualhost.

Qui c’è la guida ufficiale su tutti i paramentri impostabili nel file wp-config.php:

http://codex.wordpress.org/Editing_wp-config.php

Come descritto dalla guida, il valore dei due parametri deve essere:

define('WP_HOME',    'http://' . $_SERVER['HTTP_HOST'] . '/path/to/wordpress');

ovvero il percorso fino a wordpress.

Categories: Wordpress Tags: , , ,

Apache: Request exceeded the limit of 10 internal redirects due to probable configuration error.

August 8th, 2011 Nicola No comments

Nel mio caso, questo errore riguardava una configurazione sbagliata nel file .htaccess, nella configurazione RewriteRule, in cui il percorso nel file era sbagliato:

RewriteRule ^(.*)$ index.php/$1 [L]

L’errore veniva generato dal fatto che il percorso al file index.php non era corretto.

Categories: Web Tags: ,