Come migrare il negozio Magento da Localhost al server?

Dopo aver creato il negozio Magento dei tuoi sogni su localhost, quando è il momento di spostarlo sul server di produzione, a volte le persone si innervosiscono. È un gioco da ragazzi e ti aiuteremo a migrare il tuo negozio Magento da localhost al server di produzione.

Prerequisito

1. Dominio di lavoro 2. Produzione pronta per Magento

Dominio di lavoro

Per dominio di lavoro si intende il dominio su cui ospiterai il tuo negozio. Ad esempio�https://mademo1.knowband.com

Produzione pronta per Magento

Significa che dovrebbero esserci tutti gli elementi impostati correttamente sul server necessari per l’esecuzione di Magento. Se hai bisogno di aiuto in merito, puoi controllare il link https://www.knowband.com/blog/magento-tutorials/install-magento-using-command-line/

Passi per la migrazione

1. Esporta il tuo database localhost

Esporta il database del tuo negozio Magento localhost. Ci sono due modi per farlo A) Via PhpMyAdmin B) CLI

Il mio preferito è tramite l’interfaccia della riga di comando (CLI) in quanto è più veloce della precedente. Vedremo ogni modo uno per uno.

a) PhpMyAdmin

Accedi a te PhpMyAdmin e vai al tuo database. Lì vedrai l’opzione “Esporta” nell’intestazione. Qui “testmage1” è il nome del mio database. Controllare l’immagine qui sotto per riferimento

PhpMyAdmin

b) CLI

L’interfaccia CLI o riga di comando è migliore di PhpMyAdmin in quanto è più veloce.

mysqldump -u root -p testmage1 > nome_database.sql

Metti il ​​nome del tuo database al posto di mago test1. Questo comando creerà il dump del tuo database con il nome nome_database.sql

2. Comprimi e carica i tuoi file Magento

Dopo che il database è stato esportato, ora è il momento di comprimere i file del tuo negozio Magento. Crea lo zip di tutti i file del tuo negozio. In questo modo sarà facile caricarlo sul server. Ora apri Filezilla e carica il file zippato sul server ed estrailo nella cartella richiesta.

3. Importa database

Ora è il momento di importare il tuo database sulla tua produzione. Ora di nuovo ci sono due modi per farlo

a) PhpMyAdmin

Accedi al tuo PhpMyAdmin di produzione e crea un database vuoto con lo stesso nome del tuo localhost. Dopo aver creato un database vedrai “Importare” opzione nell’intestazione. Controlla l’immagine per riferimento.

Dopo aver cliccato su Importa browser file come mostrato nell’immagine e clicca su VAI. Ci vorranno alcuni minuti e il tuo database verrà importato.

b) CLI

Per importare il database tramite CLI è necessario caricare il file del database tramite FTP e accedere al server tramite terminale. Utilizzare il comando seguente per importare il database

mysql -u nome utente -p nome_database < file.sql

Qui database_name è il nome del database in cui verrà importato il tuo file e file.sql è il file che stai importando.

4. Modificare local.xml

Ora dobbiamo modificare il nostro file local.xml in modo che il nostro Magento possa accedere al database. Apri Magento_Root/app/etc/local.xml In esso cerca nodo.



Aggiorna questi tag secondo la configurazione di produzione. La connettività del database è terminata ora.

5. Aggiorna il nome di dominio

Ora è il momento di inserire il nome di dominio nel database. Tavolo aperto core_config_data e aggiorna il tuo dominio in 1.web/unsecure/base_url 2.web/secure/base_url come mostrato nell’immagine.

6. Svuota cache

Ora è il momento di aggiornare la cache poiché potrebbe esserci della cache dalla tua macchina localhost. Per aggiornare la tua cache vai su Magento_Root/var/cache Questa cartella contiene la tua cache. Elimina tutti i file e le directory di questa cartella. Ora sei a posto. Il tuo negozio Magento è stato migrato con successo da localhost al server di produzione. Vai al tuo browser web e inserisci il tuo dominio nella base di indirizzi e premi invio. Il tuo sito web si aprirà come era nel tuo localhost.

Linea di fondo

Questi sono i passaggi per migrare il tuo negozio Magento localhost sul server di produzione. Conserva sempre il backup del tuo codice e database nel caso qualcosa vada storto. Se il tuo sito Web non si apre correttamente, esegui nuovamente i passaggi sopra menzionati e controlla se ti sei perso qualcosa. Buona codifica 🙂

How to Track Visitor?s Data on Magento?

Magento è una delle più potenti piattaforme di e-commerce open source basate su PHP. Una delle sue potenti funzionalità è il sistema di registrazione delle attività degli utenti. Usando i dati dell'utente possiamo analizzare il comportamento dei clienti / visitatori che alla fine aiuta nel business. Ad esempio, se sappiamo che i clienti visitano frequentemente una determinata sezione di una categoria, puoi eseguire la campagna per aumentare il tasso di conversione in termini di un ordine effettuato sul tuo negozio Magento.

Magento ha un modulo dedicato Mage_Log per memorizzare il registro del cliente / visitatore.

Memorizza principalmente i seguenti dati 1. Clienti che hanno effettuato l'accesso a 2. Visitatori attuali 3.Past Visitatori 4.Dettagli come IP, Prima visita, Ultima visita ecc.

Sono due tabelle principali in cui sono memorizzati i dati

1.log_customer 2.log_visitor

Ogni volta che un utente visita il negozio, Magento genera un visitor_id e memorizzarlo in a log_visitor tavolo. Quando un cliente registrato visita il negozio utilizzando le proprie credenziali, a log_customer la tabella è aggiornata.

Si può abilitare o disabilitare l'opzione di registrazione dal pannello di amministrazione di Magento. I passaggi per farlo sono

Vai a

Sistema

Possiamo ottenere i dati dei visitatori utilizzando il seguente codice

$ visitor_data = Mage :: getSingleton ('core / session') -> getVisitorData ();

Qui $ visitor_data restituirà un array delle informazioni sul cliente / visitatore memorizzate nella sessione

Array ([] => [server_addr] => 197777237 [remote_addr] => 197777237 [http_secure] => [http_host] => www.testmage1.com [http_user_agent] => Mozilla / 5.0 (X11; Linux x86_64) AppleWebKit / 537.36 (KHTML, come Gecko) Chrome / 68.0.3440.84 Safari / 537.36 [http_accept_language] => en-US, en; q = 0.9 [http_accept_charset] => [request_uri] => / test [session_id] => njt3e2cc4g5c85o8gccnjs1ep3 [http_referer] => [ first_visit_at] => 2018-11-22 14: 42: 15 [is_new_visitor] => [last_visit_at] => 2018-11-22 14: 42: 20 [visitatore_id] => 19)

Se hai bisogno di dati specifici come il primo orario di visita dell'ultimo visitatore, puoi usare anche il suo modello

echo $ firstVisitAt = Mage :: getModel ('log / visitor') -> getFirstVisitAt (); echo $ lastVisitAt = Mage :: getModel ('log / visitor') -> getLastVisitAt ();

Spero che questo ti aiuterà a tenere traccia dei dati dei visitatori sul tuo negozio Magento. Happy Coding 🙂

Come creare un cliente in Magento?

Magento è oggi una delle piattaforme di e-commerce più flessibili e ampiamente utilizzate. Molte volte durante il nostro sviluppo abbiamo bisogno di creare clienti tramite il nostro codice. Ad esempio, se stiamo sviluppando un plugin Magento per connettere il nostro negozio Magento a marketplace come Walmart, Etsy, ecc., Creiamo un ordine per il cliente tramite il nostro codice. Ma per creare un ordine dobbiamo creare un cliente se quel cliente non esiste sul nostro negozio Magento. Possiamo creare clienti in Magento semplicemente usando il seguente codice.

Codice per la creazione di un cliente in Magento:

$ _website = Mage :: app () -> getWebsite () -> getId (); $ store = Mage :: app () -> getStore (); $ _firstName = 'Jhon'; $ _lastName = 'Doe'; $ _customerEmail = 'demo@demo.com'; $ _customerPassword = '#KnowbandPlugins'; $ _newCustomer = Mage :: getModel ("cliente / cliente"); $ _newCustomer-> setWebsiteId ($ _ sito Web) -> setStore ($ store) -> setFirstname ($ _ firstName) -> setLastname ($ _ lastName) -> setEmail ($ _ customerEmail) -> setPassword ($ _ customerPassword); prova {$ _newCustomer-> save (); } catch (Exception $ e) {Mage :: getSingleton ('cliente / sessione') -> addException ($ e, $ this -> __ ('Errore nella creazione del cliente')); Mage :: LogException ($ e); } <a href="https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-26.png"> <img class = "alignnone size-medium wp-image-22306" src = "https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-26-300x48.png" alt = "creazione-cliente-in-magento" larghezza = "300" altezza = "48" /> </a>

Ma questo cliente ha solo informazioni di base come nome, cognome, email, ecc. Non ha indirizzo di spedizione o di fatturazione. Possiamo salvare le informazioni complete sull'indirizzo del cliente tramite il seguente codice.

Codice per il salvataggio dell'indirizzo del cliente:

$ _website = Mage :: app (); getWebsite (); $ _customerEmail = 'demo@demo.com'; // Email cliente $ _countryId = 'IN'; $ _postCode = '201301'; $ _city = 'Noida'; $ _telephone = '1111111111'; $ _fax = ''; $ _company = 'Velocity Software Solutions'; $ _street = ''; $ _customer = Mage :: getModel ('cliente / cliente') -> setWebsiteId ($ _ sito web ->; getId ()) -> loadByEmail ($ _ customerEmail); $ _customerAddress = Mage :: getModel ("cliente / indirizzo"); $ _customerAddress-> setCustomerId ($ _ cliente-> getId ()) -> setFirstname ($ _ cliente-> getFirstname ()) -> setMiddleName ($ _ cliente-> getMiddlename ()) -> setLastname ($ _ cliente-> getLastname ()) -> setCountryId ($ _ countryId) -> setPostcode ($ _ postCode) -> setCity ($ _ city) -> setTelephone ($ _ telephone) -> setFax ($ _ fax) -> setCompany ($ _ company) -> setStreet ($ _ street) - > setIsDefaultBilling ('1') -> setIsDefaultShipping ('1') -> setSaveInAddressBook ('1'); prova {$ _customerAddress-> save (); } catch (Exception $ e) {Mage :: getSingleton ('cliente / sessione') -> addException ($ e, $ this -> __ ('Errore nel salvataggio dell'indirizzo del cliente.')); Mage :: LogException ($ e); } <a href="https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-27.png"> <img class = "alignnone size-medium wp-image-22308" src = "https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-27-300x133.png" alt = "saving-address-of-customer" width = "300" altezza = "133" /> </a>

Ora le informazioni sull'indirizzo del cliente sono complete. Spero che il codice sopra indicato ti aiuti ad aggiungere un nuovo cliente al tuo negozio Magento.


Come installare Magento usando la riga di comando?

Magento è una delle migliori piattaforme open source basate sull'e-commerce, scritta in PHP. Magento offre tre diverse piattaforme:

  1. Magento Community Edition
  2. Magento Enterprise Edition
  3. Magento Enterprise Cloud Edition

Qui impareremo come installare Magento usando la riga di comando (CLI). L'installazione da riga di comando di Magento è uno dei modi più efficienti di installazione se la stiamo installando sui server.

Scarica Magento Community Edition 1.X

Si può scaricare la versione richiesta di Magento dal sito ufficiale del magnete. Usa sotto il link per scaricare il pacchetto.

https://magento.com/tech-resources/download

Chiederà di accedere. Se non si dispone di un account, creare un account e procedere ulteriormente.

Decomprimere il file scaricato

Spostare il file in una directory in cui si desidera installarlo e decomprimerlo.

a) Se si tratta di un file zip, utilizzare il seguente modo:

Sintassi:- decomprimere nome_file es. –

unzip magento-1.9.3.10-2018-09-18-03-21-10.zip

b) Se si tratta di un file tar, utilizzare il seguente metodo:

Sintassi:- tar xf nome_file eg –

tar xf magento-1.9.3.10-2018-09-18-03-21-10.tar.bz2

Prerequisito per l'installazione di Magento:

Per l'installazione di Magento, è necessario soddisfare i requisiti di sistema standard. Come per la documentazione di Magento è necessario soddisfare i seguenti requisiti per l'installazione di Magento.

a) Ambiente:

LAMP (Linux, Apache, MySQL e PHP) o stack LNMP

b) Sistema operativo:

Linux x 86, x86-64

c) Server Web:

  • Apache 2.x
  • Nginx 1.7.x

d) Hosting del server:

  • Possibilità di eseguire lavori programmati (crontab) con PHP 5.
  • Possibilità di sovrascrivere le opzioni nei file .htaccess.

e) PHP:

  • PHP 5.6
  • PHP 5.5
  • PHP 5.4

f) Estensioni richieste:

  • pdo_mysql
  • SimpleXML
  • mcrypt
  • Hash
  • GD
  • DOM
  • Iconv
  • Curl
  • SOAP (per API Webservices)

g) Configurazione aggiuntiva:

  • safe_mode off
  • memory_limit nientemeno che 256 MB (consigliato 512 MB)

h) Database:

  • MySQL 5.6 (Oracle o Percona)

Per informazioni dettagliate si prega di controllare:

https://docs.magento.com/m1/ce/user_guide/magento/system-requirements.html

Setup Database

Ora imposteremo il database per il nostro Magento. Per la configurazione del database è necessario avere le seguenti cose

  1. Host DB
  2. Nome DB
  3. Nome utente DB
  4. Password DB

Passi per la creazione di un database:

Passo 1. Accedi al tuo MySQL:

MySQL -udb_user -ppassword_db -hdB_HOST

a) DB_User: – Nome utente di MySQL

b) DB_Password: – Password del MySQL

c) DB_Host: – Nome host di MySQL

Passo 2. Crea un database:

Sintassi: – crea il database DB_NAME, ad esempio crea il database kb_mage_db; Qui kb_mage_db è il nome del database che stiamo creando.

Passo 3. Controlla il database appena creato usando il comando seguente

Mostra database; Questo mostrerà l'elenco di tutti i database creati nel tuo sistema. Ecco il nome del

Passo 3. Esci dal tuo server MySQL usando il seguente comando

Uscita;

Installazione di Magento

Per l'installazione della CLI, è necessario eseguire il seguente comando:

php -f install.php - \ --license_agreement_accepted "yes" \ --locale "en_US" \ --timezone "America / Los_Angeles" \ --default_currency "USD" \ --db_host "DB_HOST" \ --db_name " DB_NAME "\ --db_user" DB_USER "\ --db_pass" DB_PASS "\ --db_prefix" DB_PREFIX "\ --admin_frontname" ADMIN_FRONT_NAME "\ --url" SITE_URL "\ --use_rewrites" si "\ --use_secure" si "\ --secure_base_url" SITE_URL "\ --use_secure_admin" si "\ --admin_firstname" ADMIN_FIRST_NAME "\ --admin_lastname" ADMIN_FIRST_LAST_NAME "\ --admin_email" EMAIL "\ --admin_username" USERNAME "\ --admin_password" PASSWORD "

Spiegazione delle parole chiave utilizzate nel comando CLI.

  1. Locale: inserisci il codice della lingua come "en_US" che vuoi usare in Magento.
  2. Fuso orario: inserisci il fuso orario che vuoi utilizzare in Magento. In questo caso, abbiamo utilizzato "America / Los_Angeles".
  3. Default_currency: posiziona la valuta che vuole usare in Magento.
  4. DB_HOST – Nome host del database, in caso di un sistema locale mettere localhost
  5. DB_NAME: il nome del tuo database es. Kb_mage_db
  6. DB_USER – Il nome utente con i diritti di accesso al database
  7. DB_PASS – La password per l'utente del database
  8. SITE_URL: il percorso in cui è installato Magento, ad es https://www.kbmagedomain.com/
  9. ADMIN_FIRST_NAME: nome dell'amministratore
  10. ADMIN_LAST_NAME – Cognome dell'amministratore
  11. EMAIL: indirizzo email del proprietario del negozio, ad es email@knowband.com
  12. USERNAME: il nome utente dell'amministratore. Questo sarà usato per accedere al back-end magneto.
  13. PASSWORD – La password dell'amministratore. Questo sarà usato per accedere al back-end magneto.

Dopo l'installazione di Magento, il messaggio di successo verrà mostrato con l'id di crittografia. Ora apri il tuo browser preferito e verifica di aver installato Magento usando l'URL che hai usato.


Come creare ordini in modo programmatico in Magento?

A volte abbiamo bisogno di creare ordini in modo programmatico in Magento. Supponiamo che tu stia creando un plugin Magento per il tuo negozio per collegarlo al mercato come Walmart o Etsy.

Passi coinvolti nella creazione dell'ordine:

  • Definiremo i dati dei clienti come nome, cognome, email.
  • Definire l'indirizzo di spedizione e fatturazione del cliente.
  • Definire il metodo di spedizione e di pagamento del cliente.
  • Definisci il prodotto e la quantità che deve essere ordinata sul nostro negozio Magento.
  • Crea un cliente se il cliente non esiste nel nostro negozio Magento. È un passaggio facoltativo.
  • Aggiungi prodotto alla quotazione del cliente.
  • Aggiungi l'indirizzo di spedizione e fatturazione al preventivo del cliente.
  • Preparare e salvare le quotazioni del cliente.
  • L'ordine viene creato sul tuo negozio Magento.

Uso

         $ _store = Mage :: app () -> getStore (); $ _website = Mage :: app () -> getWebsite (); $ _firstName = John '; $ _lastName = 'doe; $ _email = 'demo@demo.com'; / * * Indirizzo di fatturazione personalizzato * / $ billingAddress = array ('customer_address_id' => '', 'prefix' => '', 'firstname' => $ _firstName, 'middlename' => '', 'lastname' => $ _lastName, 'suffix' => '', 'company' => '', 'street' => array ('0' => 'Sector 63', // Obbligatorio '1' => 'Noida, UP') , 'city' => 'Noida', 'country_id' => 'IN', // codice paese 'regione' => 'UP', 'region_id' => '', 'codice postale' => '201301', ' telefono '=>' 888-888-8888 ',' fax '=>' ',' save_in_address_book '=> 1); / * * Indirizzo di spedizione personalizzato * / $ shippingAddress = array ('customer_address_id' => '', 'prefix' => '', 'firstname' => $ _firstName, 'middlename' => '', 'lastname' => $ _lastName, 'suffix' => '', 'company' => '', 'street' => array ('0' => 'Sector 63', // Obbligatorio '1' => 'Noida, UP') , 'city' => 'Noida', 'country_id' => 'IN', // codice paese 'regione' => 'UP', 'region_id' => '', 'codice postale' => '201301', ' telefono '=>' 888-888-8888 ',' fax '=>' ',' save_in_address_book '=> 1); / ** * Immettere il metodo di spedizione che si desidera utilizzare. Alcuni degli altri metodi di spedizione * sono tablerate_tablerate, freeshipping_freeshipping ecc. * Qui stiamo usando flatrate_flatate * / $ _shippingMethod = 'flatrate_flatate'; / ** * Immettere il metodo di pagamento che si desidera utilizzare. Alcuni dei metodi di pagamento dell'ordine * sono checkmo, gratuito, bonifico bancario, risparmio, ordine di acquisto, ecc. * / $ _paymentMethod = 'cashondelivery'; / ** * Fornire una serie di prodotti e la loro quantità. * $ array = array (product_id => qty) * / $ productIds = array (905 => 1); $ quote = Mage :: getModel ('vendite / quote') -> setStoreId ($ _ store-> getId ()); $ Citazione-> setCurrency (Mage :: app () -> getStore () -> getBaseCurrencyCode ()); $ customer = Mage :: getModel ('cliente / cliente') -> setWebsiteId ($ _ website-> getId ()) -> loadByEmail ($ _ email); / ** * Preparazione del cliente per il preventivo * se il cliente non è registrato, creeremo un nuovo cliente. Questo è * un processo facoltativo. * / if (! $ customer-> getId ()) {$ customer = Mage :: getModel ('cliente / cliente'); $ customer-> setWebsiteId ($ _ website-> getId ()) -> setStore ($ _ store) -> setFirstname ($ _ firstName) -> setLastname ($ _ lastName) -> setEmail ($ _ email); / ** * Creazione di un nuovo cliente * Salta try-catch se non vuoi creare un nuovo cliente. * / prova {// Generare la password per il cliente. Puoi anche usare qualsiasi password // personalizzata per questo. $_store = Mage::app()->getStore();
         $_website = Mage::app()->getWebsite();
         $_firstName = John';
         $_lastName = 'doe;
         $_email = 'demo@demo.com';
        /*
         * Custom billing address
         */
        $billingAddress = array(
            'customer_address_id' => '',
                         'prefix' => '',
            'firstname' => $_firstName,
            'middlename' => '',
             'lastname' => $_lastName,
            'suffix' => '',
            'company' => '',
            'street' => array(
                 '0' => 'Sector 63', // Required
                '1' => 'Noida, UP' 
            ),
             'city' => 'Noida',
            'country_id' => 'IN', // Country code
            'region' => 'UP', 
            'region_id' => '',
            'postcode' => '201301',
            'telephone' => '888-888-8888',
            'fax' => '',
            'save_in_address_book' => 1
        );
 
        /*
         * Custom shipping address
         */
        $shippingAddress = array(
            'customer_address_id' => '',
            'prefix' => '',
            'firstname' => $_firstName,
            'middlename' => '',
            'lastname' => $_lastName,
            'suffix' => '',
            'company' => '',
            'street' => array(
                '0' => 'Sector 63', // Required
                '1' => 'Noida, UP' 
            ),
            'city' => 'Noida',
            'country_id' => 'IN', // Country code
            'region' => 'UP',
            'region_id' => '',
            'postcode' => '201301',
            'telephone' => '888-888-8888',
            'fax' => '',
            'save_in_address_book' => 1
        );
 
        /**
         * Enter the shipping method you want to use. Some of the other shipping
         * methods are tablerate_tablerate, freeshipping_freeshipping etc.
         * Here we are using flatrate_flatrate
         */
        $_shippingMethod = 'flatrate_flatrate';
 
        /**
         * Enter the payment method you want to use. Some of the order payment  
   	*methods are checkmo, free, banktransfer, ccsave, purchaseorder etc.
         */
        $_paymentMethod = 'cashondelivery';
 
        /**
         * Provide array of product and their qty.
         * $array = array(product_id => qty)
         */
        $productIds = array(905 => 1);
        $quote = Mage::getModel('sales/quote')
                ->setStoreId($_store->getId());
 
        $quote->setCurrency(Mage::app()->getStore()->getBaseCurrencyCode());
 
        $customer = Mage::getModel('customer/customer')
                ->setWebsiteId($_website->getId())
                ->loadByEmail($_email);
 
        /**
         * Preparing customer for the quote 
         * if the customer is not registered then we will create a new customer. This is  	*an optional process.
         */
        if (!$customer->getId()) {
            $customer = Mage::getModel('customer/customer');
 
            $customer->setWebsiteId($_website->getId())
                    ->setStore($_store)
                    ->setFirstname($_firstName)
                    ->setLastname($_lastName)
                    ->setEmail($_email);
 
            /**
             * Creating new customer
             * Skip try-catch if you don't want to create a new customer.
             */
            try {
                // Generating password for customer. You can also use any custom  // password for it.
                $password = $customer->generatePassword();
                $customer->setPassword($password);
                $customer->setForceConfirmed(true);
                $customer->save();
 
                $customer->setConfirmation(null);
                $customer->save();
                $customerId = $customer->getId();
                $customAddress = Mage::getModel('customer/address');
                $customAddress->setData($billingAddress)
                        ->setCustomerId($customerId)
                        ->setIsDefaultBilling('1')
                        ->setIsDefaultShipping('1')
                        ->setSaveInAddressBook('1');
                $customAddress->save();
 
            } catch (Mage_Core_Exception $e) {
                Mage::getSingleton('customer/session')->addException($e, $this- >__('Error in creating customer'));
                Mage::logException($e);
            } catch (Exception $e) {
                Mage::getSingleton('customer/session')->addException($e, $this- >__('Error in creating customer'));
                Mage::logException($e);
            }
        }
 
        // Assign customer to quote
        $quote->assignCustomer($customer);
 
        // Add products to quote
        foreach ($productIds as $productId => $qty) {
            $product = Mage::getModel('catalog/product')->load($productId);
            $quote->addProduct($product, $qty);
        }
 
        // Add billing address to quote
        $_billingAddressData = $quote->getBillingAddress()- >addData($billingAddress);
 
        // Add shipping address to quote
        $_shippingAddressData = $quote->getShippingAddress()- >addData($shippingAddress);
 
        /**
         * If the customer is a registered customer then you can fetch their billing or  *shipping address as below
         * 
         * $_customerBillingAddress = $customer->getPrimaryBillingAddress();
         * $_customerShippingAddress = $customer->getPrimaryShippingAddress();
         * 
         * $_billingAddressData = $quote->getBillingAddress()- >addData($_customerBillingAddress);
         * $_shippingAddressData = $quote->getShippingAddress()- >addData($_customerShippingAddress);
         */
 
        // Collect shipping rates on quote shipping address data
        $_shippingAddressData->setCollectShippingRates(true)
                ->collectShippingRates();
 
        // Set shipping and payment method on quote shipping address data
        $_shippingAddressData->setShippingMethod($_shippingMethod)
                ->setPaymentMethod($_paymentMethod);
 
        // Set payment method for the quote
        $quote->getPayment()->importData(array('method' => $_paymentMethod));
 
        try {
            $quote->collectTotals();
            $quote->save();
 
            // Preparing Order From Quote
            $service = Mage::getModel('sales/service_quote', $quote);
            $service->submitAll();
            
            // $incrementId is the increment id of the order created.
            $incrementId = $service->getOrder()->getRealOrderId();
 
            Mage::getSingleton('checkout/session')
                    ->setLastQuoteId($quote->getId())
                    ->setLastSuccessQuoteId($quote->getId())
                    ->clearHelperData();
 
           /*
           * $response is the Array of the response with the status of the order  creation.
           */
            $response['success'] = true;
            $response['error'] = false;
        $response['messages'] = 'Order number '.$incrementId.' created  successfully.';
        } catch (Mage_Core_Exception $e) {
            $response['success'] = false;
            $response['error'] = true;
            $response['messages'] = $e->getMessage();
            Mage::logException($e);
        } catch (Exception $e) {
            $response['success'] = false;
            $response['error'] = true;
            $response['messages'] = $this->__('Error in processing order. Please try  again later.');
 
            Mage::logException($e);
        }
        
        Mage::app()->getResponse()->setBody(Mage::helper('core')- >jsonEncode($response)); $ incrementId = $ service-> getOrder () -> getRealOrderId (); Mage :: getSingleton ('checkout / session') -> setLastQuoteId ($ quote-> getId ()) -> setLastSuccessQuoteId ($ quote-> getId ()) -> clearHelperData (); / * * $ response è la matrice della risposta con lo stato della creazione dell'ordine. * / $ response ['success'] = true; $ response ['error'] = false; $ response ['messages'] = 'Numero ordine'. $ incrementId. ' creato con successo. '; } catch (Mage_Core_Exception $ e) {$ response ['success'] = false; $ response ['error'] = true; $ response ['messages'] = $ e-> getMessage (); Mage :: LogException ($ e); } catch (Exception $ e) {$ response ['success'] = false; $ response ['error'] = true; $ response ['messages'] = $ this -> __ ('Errore nell'elaborazione dell'ordine. Per favore riprova più tardi.'); Mage :: LogException ($ e); } Mage :: app () -> getResponse () -> setBody (Mage :: helper ('core') -> jsonEncode ($ response));

Si prega di passare attraverso il codice di cui sopra


Come eseguire query SQL dirette in Magento?

Oggi impareremo come correre

Ottieni il modello di risorsa principale –

$ resource = Mage :: getSingleton ('core / resource');

Dopo questo, dobbiamo creare una connessione di lettura o scrittura secondo le nostre necessità.

/ ** * Recupera la connessione di lettura * / $ readConnection = $ resource-> getConnection ('core_read'); / ** * Recupera la connessione in scrittura * / $ writeConnection = $ resource-> getConnection ('core_write');

Recupero del nome corretto della tabella –

Nel caso in cui non si sia a conoscenza del prefisso della tabella, è possibile utilizzare il codice seguente per recuperare il nome corretto della tabella.

$ _tableName = $ resource-> getTableName ('catalog_product_entity');

Se il prefisso è mage_ allora il nome della tabella che restituirà sarà mage_catalog_product_entity

Dati di lettura –

Per leggere i dati dalla tabella, utilizzare il seguente codice

$ query = "seleziona * da {$ _tableName}"; $ query_result = $ readConnection-> fetchAll ($ query);

Qui, $ query_result restituirà il risultato della query selezionata. Nel nostro caso restituirà la matrice di tutto il prodotto. Nel caso in cui siano necessari i dati del solo prodotto, utilizzare il seguente comando.

$ query = "select * from {$ _tableName} dove entity_id = {$ _ productId}"; $ query_result = $ readConnection-> fetchAll ($ query);

Qui $ _productId è l'id del prodotto di cui abbiamo bisogno i dati.

Scrivere dati –

Per inserire dati nella tabella usa il seguente codice.

$ insert_query = "INSERT INTO {$ _tableName} ('COL_NAME1', 'COL_NAME2') VALORI ('COL_VALUE1', 'COL_VALUE2')"; $ WriteConnection-> query ($ insert_query);

Dati aggiornati –

Se dobbiamo aggiornare type_id di un prodotto su "configurabile", possiamo usare il seguente codice. Qui $ _productId è l'id del prodotto.

$ update_query = "UPDATE {$ _tableName} SET type_id =" configurable "WHERE entity_id = {$ _ productId}"; $ WriteConnection-> query ($ update_query); Ma Magento ha fornito il concetto del modello per la connessione al database in quanto forniscono l'astrazione e sono più sicuri delle query SQL dirette.