Installazione modulo ‘Custom Invoice Number’

Procedura base di installazione:

Una volta estratto il pacchetto contenente l’estensione, i passi da seguire sono pochi e semplici:

  1. Ripulire la cache, eliminando cioè tutti i file presenti nel percorso var/cache;
  2. Procedere con un backup (sia del database che della directory del server);
  3. Tramite un client FTP, caricare la cartella ‘app’ nella root principale (N.B.: non ci saranno sovrascritture, ma solo copie di file non ancora presenti nelle cartelle);
  4. Se utilizzi un tema differente da quello di default per il pannello di amministrazione, dovrai copiare la cartella app/design/adminhtml/default/default/template/manualinvoicenumber nella relativo percorso del tuo tema.

Ulteriori modifiche necessarie al funzionamento del modulo:

Purtroppo il modulo potrebbe presentare qualche problema dovuto al pesante uso della cache svolto da Magento. Per evitare questo, facciamo attenzione alle seguenti modifiche:

  • Eliminare il percorso: app\code\community\Magestore\ManualInvoiceNumber\sql e tutto il suo contenuto;
  • Modificare il file app\code\community\Magestore\ManualInvoiceNumber\Block\Adminhtml\Items.php in questo modo:
class Magestore_ManualInvoiceNumber_Block_Adminhtml_Items extends Mage_Adminhtml_Block_Sales_Order_Invoice_Create_Items 
{    
    protected function _beforeToHtml() {
        $onclick = "submitAndReloadArea($('invoice_item_container'),'".$this->getUpdateUrl()."')";
        $this->setChild(
                'update_button',
                $this->getLayout()->createBlock('adminhtml/widget_button')->setData(array(
                        'class'     => 'update-button',
                        'label'     => Mage::helper('sales')->__('Update Qty\'s'),
                        'onclick'   => $onclick,
                ))
        );
        $this->_disableSubmitButton = true;
        $_submitButtonClass = ' disabled';
        foreach ($this->getInvoice()->getAllItems() as $item) {
                if ($item->getQty() || $this->getSource()->getData('base_grand_total')) {
                        $this->_disableSubmitButton = false;
                        $_submitButtonClass = '';
                        break;
                }
        }
        $_submitLabel = $this->getOrder()->getForcedDoShipmentWithInvoice()?'Submit Invoice and Shipment':'Submit Invoice';
        $this->setChild(
                'submit_button',
                $this->getLayout()->createBlock('adminhtml/widget_button')->setData(array(
                        'label'     => Mage::helper('sales')->__('%s', $_submitLabel),
                        'class'     => 'save submit-button' . $_submitButtonClass,
                        'onclick'   => '$(\'edit_form\').submit()',
                        'disabled'  => $this->_disableSubmitButton
                ))
        );
        $this->setTemplate('manualinvoicenumber/items.phtml');
        return parent::_prepareLayout();
    }
}

La cache di Magento potrebbe infatti intervenire modificando questi file. Una volta effettuate queste modifiche, procedere con l’aggiornamento della cache dal percorso Admin > System > Cache management

0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Sentitevi liberi di contribuire!

Lascia un commento