Comment migrer le magasin Magento de Localhost vers le serveur ?

Après avoir créé votre boutique Magento de rêve sur localhost lorsqu’il est temps de la déplacer vers un serveur de production, les gens deviennent parfois nerveux. C’est un jeu d’enfant et nous vous aiderons à migrer votre boutique Magento de localhost vers un serveur de production.

Prérequis

1. Domaine de travail 2. Production prête pour Magento

Domaine de travail

Par domaine de travail, on entend le domaine sur lequel vous allez héberger votre boutique. Par exemple�https://mademo1.knowband.com

Production prête pour Magento

Cela signifie que tous les éléments doivent être correctement configurés sur le serveur, ce qui est nécessaire au fonctionnement d’un Magento. Si vous avez besoin d’aide à ce sujet, vous pouvez consulter le lien https://www.knowband.com/blog/magento-tutorials/install-magento-using-command-line/

Étapes de la migration

1. Exportez votre base de données localhost

Exportez la base de données de votre magasin Magento localhost. Il y a deux façons de le faire A) Via PhpMyAdmin B) CLI

Mon préféré est via l’interface de ligne de commande (CLI) car il est plus rapide que l’ancien. Nous verrons chaque chemin un par un.

a) PhpMonAdmin

Connectez-vous à votre PhpMyAdmin et accédez à votre base de données. Là, vous verrez l’option “Exporter” dans l’en-tête. Ici “testmage1” est le nom de ma base de données. Vérifiez l’image ci-dessous pour référence

PhpMyAdmin

b) CLI

La CLI ou l’interface de ligne de commande est meilleure que PhpMyAdmin car elle est plus rapide.

mysqldump -u root -p testmage1 > nom_base_de_données.sql

Mettez le nom de votre base de données à la place de testmage1. Cette commande va créer le dump de votre base de données avec le nom nom_base_données.sql

2. Compressez et téléchargez vos fichiers Magento

Une fois la base de données exportée, il est maintenant temps de compresser les fichiers de votre boutique Magento. Créez le zip de tous les fichiers de votre boutique. De cette façon, il sera facile de le télécharger sur le serveur. Maintenant, ouvrez Filezilla et téléchargez le fichier compressé sur le serveur et extrayez-le dans le dossier requis.

3. Importer la base de données

Il est maintenant temps d’importer votre base de données sur votre production. Encore une fois, il y a deux façons de le faire

a) PhpMyAdmin

Connectez-vous à votre PhpMyAdmin de production et créez une base de données vide avec le même nom que sur votre localhost. Après avoir créé une base de données, vous verrez “L’” dans l’en-tête. Vérifiez l’image pour référence.

Après avoir cliqué sur le navigateur d’importation, vous déposez comme indiqué dans l’image et cliquez sur GO. Cela prendra quelques minutes et votre base de données sera importée.

b) CLI

Pour importer une base de données via CLI, vous devez télécharger votre fichier de base de données via FTP et vous connecter à votre serveur via un terminal. Utilisez la commande suivante pour importer la base de données

mysql -u nom d'utilisateur -p nom_base de données < fichier.sql

Ici database_name est le nom de la base de données dans laquelle votre fichier sera importé et file.sql est le fichier que vous importez.

4. Modifier local.xml

Nous devons maintenant modifier notre fichier local.xml afin que notre Magento puisse accéder à la base de données. Ouvrez Magento_Root/app/etc/local.xml Dans celui-ci, recherchez nœud.



Mettez à jour ces balises conformément à la configuration de production. La connectivité de votre base de données est maintenant terminée.

5. Mettre à jour le nom de domaine

Il est maintenant temps de saisir le nom de domaine dans la base de données. Table ouverte core_config_data et mettez à jour votre domaine dans 1.web/unsecure/base_url 2.web/secure/base_url comme indiqué dans l’image.

6. Vider le cache

Il est maintenant temps de rafraîchir votre cache car il peut y avoir du cache de votre machine hôte local. Pour actualiser votre cache, rendez-vous sur Magento_Root/var/cache Ce dossier contient votre cache. Supprimez tous les fichiers et le répertoire de ce dossier. Maintenant, vous êtes prêt. Votre boutique Magento a été migrée avec succès de localhost vers le serveur de production. Accédez à votre navigateur Web et entrez votre domaine dans la base d’adresses et appuyez sur Entrée. Votre site Web s’ouvrira tel qu’il était dans votre localhost.

Bottomline

Voici les étapes pour migrer votre magasin Magento localhost vers le serveur de production. Gardez toujours une sauvegarde de votre code et de votre base de données en cas de problème. Si votre site Web ne s’ouvre pas correctement, suivez à nouveau les étapes ci-dessus et vérifiez si vous avez manqué quelque chose. Bon codage 🙂

How to Track Visitor?s Data on Magento?

Magento est l’une des plates-formes de commerce électronique open source les plus puissantes basée sur PHP. L'une de ses fonctionnalités puissantes est le système de journalisation des activités des utilisateurs. En utilisant les données des utilisateurs, nous pouvons analyser le comportement des clients / visiteurs, ce qui est finalement utile dans les affaires. Par exemple, si nous savons que les clients visitent fréquemment une section particulière d'une catégorie, vous pouvez lancer la campagne pour augmenter le taux de conversion en termes de commande passée dans votre magasin Magento.

Magento a un module dédié Mage_Log pour stocker le journal du client / visiteur.

Il stocke principalement les données suivantes 1.Les clients qui se sont connectés à 2. Visiteurs actuels 3.Past Visiteurs 4.Détails comme IP, première visite, dernière visite, etc.

Deux tables principales dans lesquelles des données sont stockées sont

1.log_customer 2.log_visitor

Chaque fois qu'un utilisateur visite le magasin, Magento génère une visiteur_id et le stocker dans un log_visitor table. Lorsqu'un client enregistré visite le magasin en utilisant ses informations d'identification, un log_customer la table est mise à jour.

On peut activer ou désactiver l'option de journalisation depuis le panneau d'administration Magento. Les étapes à suivre sont

Aller à

Système

Nous pouvons obtenir les données des visiteurs en utilisant le code suivant

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

Ici, $ visitor_data retournera un tableau des informations client / visiteur stockées dans la session

Array ([] => [server_addr] => 197777237 [remote_addr] => 197777237 [http_secure] => [http_host] => www.testmage1.com [http_user_agent] => Mozilla / 5.0 (X11; Linux x86_64) (KHTML) first_visit_at] => 537.36-68.0.3440.84-537.36 0.9: 3: 2 [is_new_visitor] => [last_visit_at] => 4-5-85: 8: 1: 3 [visiteur_id] => Xx

Si vous avez besoin de données spécifiques telles que l'heure de la dernière visite, vous pouvez également utiliser son modèle.

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

J'espère que cela vous aidera à suivre les données des visiteurs sur votre boutique Magento. Bonne codage 🙂

Comment créer un client par programme dans Magento?

Magento est l'une des plateformes de commerce électronique les plus flexibles et les plus largement utilisées de nos jours. Plusieurs fois au cours de notre développement, nous devons créer des clients via notre code. Par exemple, si nous développons un plugin Magento pour connecter notre magasin Magento à des marchés tels que Walmart, Etsy, etc., nous créons une commande pour le client via notre code. Mais pour créer une commande, nous devons créer un client si ce client n'existe pas sur notre magasin Magento. Nous pouvons créer un client dans Magento simplement en utilisant le code suivant.

Code pour créer un client dans Magento:

$ _website = Mage :: app () -> getWebsite () -> getId (); $ store = Mage :: app () -> getStore (); $ _firstName = 'Jhon'; $ _lastName = 'Doe'; $ _customerEmail = 'demo@demo.com'; $ _customerPassword = '#KnowbandPlugins'; $ _newCustomer = Mage :: getModel ("client / client"); $ _newCustomer-> setWebsiteId ($ _ website) -> setStore ($ store) -> setFirstname ($ _ firstName) -> setLastname ($ _ lastName) -> setEmail ($ _ customerEmail) -> setPassword ($ _ customerPassword); essayez {$ _newCustomer-> save (); } catch (Exception $ e) {Mage :: getSingleton ('client / session') -> addException ($ e, $ this -> __ ('Erreur lors de la création du client')); Mage :: logException ($ e); } <a href="https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-26.png"> <img class = "alignnone taille-moyenne wp-image-22306" src = "https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-26-300x48.png" alt = "création-client-dans-magento" width = "300" height = "48" /> </a>

Mais ce client n'a que des informations très basiques telles que prénom, nom, email, etc. Il n'a pas d'adresse de livraison ni de facturation. Nous pouvons enregistrer les informations d'adresse complètes du client via le code suivant.

Code de sauvegarde de l'adresse du client:

$ _website = Mage :: app (); getWebsite (); $ _customerEmail = 'demo@demo.com'; // Email du client $ _countryId = 'IN'; $ _postCode = '201301'; $ _city = 'Noida'; $ _telephone = '1111111111'; $ _fax = ''; $ _company = 'Velocity Software Solutions'; $ _street = ''; $ _customer = Mage :: getModel ('client / client') -> setWebsiteId ($ _ site Web ->; getId ()) -> loadByEmail ($ _ customerEmail); $ _customerAddress = Mage :: getModel ("client / adresse"); $ _customerAddress-> setCustomerId ($ _ customer-> getId ()) -> setFirstname ($ _ customer-> getFirstname ()) -> setMiddleName ($ _ customer-> getMiddlename ()) -> setLastname ($ _ customer-> getLastname ()) -> setCountryId ($ _ countryId) -> setPostcode ($ _ postCode) -> setCity ($ _ city) -> setTelephone ($ _ telephone) -> setFax ($ _ fax) -> setCompany ($ _ company) -> setStreet ($ _ street) - > setIsDefaultBilling ('1') -> setIsDefaultShipping ('1') -> setSaveInAddressBook ('1'); essayez {$ _customerAddress-> save (); } catch (Exception $ e) {Mage :: getSingleton ('client / session') -> addException ($ e, $ this -> __ ('Erreur lors de l'enregistrement de l'adresse du client.')); Mage :: logException ($ e); } <a href="https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-27.png"> <img class = "alignnone taille-moyenne wp-image-22308" src = "https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-27-300x133.png" alt = "adresse-du-client-de-client" width = "300" height = "133" /> </a>

Maintenant, les informations d'adresse du client sont complètes. J'espère que le code mentionné ci-dessus vous aidera à ajouter un nouveau client à votre boutique Magento.


Comment installer Magento en ligne de commande?

Magento est l’une des meilleures plates-formes open-source basées sur le commerce électronique, écrite en PHP. Magento propose trois plateformes différentes:

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

Ici, nous allons apprendre à installer Magento à l’aide de la ligne de commande (CLI). L’installation en ligne de commande de Magento est l’un des moyens d’installation les plus efficaces si vous l’installez sur des serveurs.

Télécharger Magento Community Edition 1.X

On peut télécharger la version requise du Magento sur le site officiel du magnéto. Utilisez le lien ci-dessous pour télécharger votre forfait.

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

Il vous demandera de vous connecter. Si vous n'avez pas de compte, créez-en un et continuez.

Décompresser le fichier téléchargé

Déplacez le fichier dans un répertoire où vous souhaitez l'installer et décompressez-le.

a) S'il s'agit d'un fichier zip, utilisez la méthode suivante:

Syntaxe:- Décompressez nom_fichier par exemple –

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

b) S'il s'agit d'un fichier tar, utilisez la méthode suivante:

Syntaxe:- tar xf nom_fichier, par exemple –

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

Prérequis pour l'installation de Magento:

Pour l’installation de Magento, vous devez répondre à la configuration système requise. Conformément à la documentation de Magento, vous devez répondre aux exigences suivantes pour l’installation de Magento.

a) Environnement:

LAMP (Linux, Apache, MySQL et PHP) ou pile LNMP

b) Système d'exploitation:

Linux x 86, x86-64

c) Serveur Web:

  • Apache 2.x
  • Nginx 1.7.x

d) Hébergement de serveur:

  • Possibilité d'exécuter des travaux planifiés (crontab) avec PHP 5.
  • Possibilité de remplacer les options dans les fichiers .htaccess.

e) PHP:

  • PHP 5.6
  • PHP 5.5
  • PHP 5.4

f) Extensions requises:

  • PDO_MySQL
  • Simplexml
  • Mcrypt
  • Hash
  • GD
  • DOM
  • iconv
  • Friser
  • SOAP (pour l'API Webservices)

g) Configuration supplémentaire:

  • safe_mode off
  • memory_limit pas moins que 256 MB (512 MB recommandé)

h) Base de données:

  • MySQL 5.6 (Oracle ou Percona)

Pour des informations détaillées, veuillez vérifier:

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

Base de données d'installation

Nous allons maintenant configurer la base de données pour notre Magento. Pour configurer une base de données, il faut avoir les éléments suivants

  1. Hôte de base de données
  2. Nom de la base de données
  3. Nom d'utilisateur DB
  4. Mot de passe DB

Étapes pour créer une base de données:

Étape 1. Connectez-vous à votre MySQL:

MySQL -uDB_User -pDB_Password -hDB_Host

a) DB_User: – Nom d'utilisateur MySQL

b) DB_Password: – Mot de passe de MySQL

c) DB_Host: – Nom d'hôte de MySQL

Étape 2. Créer une base de données:

Syntaxe: – create database DB_NAME Par exemple, create database kb_mage_db; Ici kb_mage_db est le nom de la base de données que nous créons.

Étape 3. Vérifiez la base de données nouvellement créée en utilisant la commande ci-dessous

Afficher les bases de données; Cela affichera la liste de toutes les bases de données créées dans votre système. Ici le nom du

Étape 3. Quittez votre serveur MySQL en utilisant la commande suivante

Sortie;

Installation de Magento

Pour l'installation de la CLI, nous devons exécuter la commande suivante:

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" URL DU SITE "\ --use_rewrites" yes "\ --use_sure" yes "\ --secure_base_url" SITE_URL "\ --use_secure_admin" yes "\ --admin_firstname" ADMIN_FIRST_NAME "\ --admin_lastname" ADMIN_FIRST_LAST_NAME "\ --admin_email" EMAIL "\ - ADMINISTRATION".

Explication des mots-clés utilisés dans la commande CLI.

  1. Locale: Placez le code de langue comme "en_US" que vous souhaitez utiliser dans Magento.
  2. Fuseau horaire: place le fuseau horaire que vous souhaitez utiliser dans Magento. Dans ce cas, nous avons utilisé "America / Los_Angeles".
  3. Default_currency: Place la devise que vous souhaitez utiliser dans Magento.
  4. DB_HOST – Nom d'hôte de la base de données, dans le cas d'un système local, mettez localhost
  5. DB_NAME – Le nom de votre base de données, par exemple, kb_mage_db
  6. DB_USER – Le nom d'utilisateur avec les droits d'accès à la base de données
  7. DB_PASS – Le mot de passe de l'utilisateur de la base de données
  8. SITE_URL – Le chemin d’installation de Magento, par exemple https://www.kbmagedomain.com/
  9. ADMIN_FIRST_NAME – Prénom de l'administrateur
  10. ADMIN_LAST_NAME – Nom de l'administrateur
  11. EMAIL – L'adresse email du propriétaire du magasin, par exemple email@knowband.com
  12. USERNAME – Nom d'utilisateur de l'administrateur. Ceci sera utilisé pour vous connecter sur le backend de magnéto.
  13. MOT DE PASSE – Le mot de passe de l'administrateur. Ceci sera utilisé pour vous connecter sur le backend de magnéto.

Après l'installation de Magento, le message de réussite s'affiche avec l'identifiant de chiffrement. Ouvrez maintenant votre navigateur favori et vérifiez que vous avez installé Magento à l’aide de l’URL que vous avez utilisée.


Comment créer des commandes par programme dans Magento?

Parfois, nous devons créer des commandes par programme dans Magento. Supposons que vous créez un plugin Magento pour votre magasin afin de le connecter au marché tel que Walmart ou Etsy.

Les étapes de la création de l'ordre:

  • Nous définirons les données du client comme le prénom, le nom de famille et l'adresse électronique.
  • Définissez l'adresse de livraison et de facturation du client.
  • Définir la méthode d'expédition et de paiement du client.
  • Définissez le produit et la quantité à commander dans notre magasin Magento.
  • Créez un client s'il n'existe pas dans notre magasin Magento. C'est une étape optionnelle.
  • Ajouter le produit à la citation du client.
  • Ajoutez l'adresse de livraison et de facturation au devis du client.
  • Préparer et enregistrer le devis du client.
  • La commande est créée sur votre boutique Magento.

Utilisation

         $ _store = Mage :: app () -> getStore (); $ _website = Mage :: app () -> getWebsite (); $ _firstName = John '; $ _lastName = 'doe; $ _email = 'demo@demo.com'; / * * Adresse de facturation personnalisée * / $ billingAddress = array ('customer_address_id' => '', 'prefix' => '', 'prenom' => $ _firstName, 'middlename' => '', 'lastname' => $ _lastName, 'suffix' => '', 'company' => '', 'street' => array ('0' => 'Secteur 63', // Obligatoire '1' => 'Noida, UP') , 'city' => 'Noida', 'country_id' => 'IN', // code du pays 'région' => 'UP', 'region_id' => '', 'code postal' => '201301', ' téléphone '=>' 888-888-8888 ',' fax '=>' ',' save_in_address_book '=> 1); / * * Adresse de livraison personnalisée * / $ shippingAddress = array ('customer_address_id' => '', 'prefix' => '', 'prenom' => $ _firstName, 'pseudonyme' => '', 'lastname' => $ _lastName, 'suffix' => '', 'company' => '', 'street' => array ('0' => 'Secteur 63', // Obligatoire '1' => 'Noida, UP') , 'city' => 'Noida', 'country_id' => 'IN', // code du pays 'région' => 'UP', 'region_id' => '', 'code postal' => '201301', ' téléphone '=>' 888-888-8888 ',' fax '=>' ',' save_in_address_book '=> 1); / ** * Entrez le mode d'expédition que vous souhaitez utiliser. Certaines des autres méthodes d'expédition * sont tablerate_tablerate, freeshipping_freeshipping, etc. * Nous utilisons ici flatrate_flatrate * / $ _shippingMethod = 'flatrate_flatrate'; / ** * Entrez le mode de paiement que vous souhaitez utiliser. Certains modes de paiement * sont les suivants: checkmo, gratuit, virement bancaire, ccsave, orderorder, etc. * / $ _paymentMethod = 'cashondelivery'; / ** * Fournir une gamme de produits et leur quantité. * $ 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 ('client / client') -> setWebsiteId ($ _ site web-> getId ()) -> loadByEmail ($ _ email); / ** * Préparation du client pour le devis * Si le client n'est pas enregistré, nous créerons un nouveau client. C'est * un processus optionnel. * / if (! $ customer-> getId ()) {$ customer = Mage :: getModel ('client / client'); $ customer-> setWebsiteId ($ _site-> getId ()) -> setStore ($ _ store) -> setFirstname ($ _ firstName) -> setLastname ($ _ lastName) -> setEmail ($ _ email); / ** * Création d'un nouveau client * Sautez try-catch si vous ne voulez pas créer un nouveau client. * / try {// Génération du mot de passe pour le client. Vous pouvez également utiliser n'importe quel // mot de passe personnalisé pour cela. $_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 est le tableau de la réponse avec le statut de la création de la commande. * / $ response ['success'] = true; $ response ['error'] = false; $ response ['messages'] = 'Numéro de commande'. $ incrementId. ' créé avec succès. '; } 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 -> __ ('Erreur lors du traitement de la commande. Veuillez réessayer plus tard.'); Mage :: logException ($ e); } Mage :: app () -> getResponse () -> setBody (Mage :: helper ('noyau') -> jsonEncode ($ réponse));

S'il vous plaît passer par le code mentionné ci-dessus


Comment exécuter des requêtes Direct SQL dans Magento?

Aujourd'hui, nous allons apprendre à courir

Obtenir le modèle de ressource de base –

$ resource = Mage :: getSingleton ('noyau / ressource');

Après cela, nous devons créer une connexion en lecture ou en écriture selon nos besoins.

/ ** * Récupère la connexion en lecture * / $ readConnection = $ resource-> getConnection ('core_read'); / ** * Récupère la connexion en écriture * / $ writeConnection = $ resource-> getConnection ('core_write');

Chercher le bon nom de table –

Si vous ne connaissez pas le préfixe de la table, vous pouvez utiliser le code ci-dessous pour récupérer le nom de la table approprié.

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

Si le préfixe est mage_ alors le nom de la table, il reviendra sera mage_catalog_product_entity

Lecture de données –

Pour lire les données de la table, utilisez le code suivant

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

Ici, $ query_result renverra le résultat de la requête select. Dans notre cas, il retournera le tableau de tout le produit. Si vous avez besoin des données du produit uniquement, utilisez la commande suivante.

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

Ici $ _productId est l'id du produit dont nous avons besoin des données.

Ecriture de données –

Pour insérer des données dans la table, utilisez le code suivant.

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

Données mises à jour –

Si nous devons mettre à jour le type_id d'un produit sur "configurable", nous pouvons utiliser le code suivant. Ici, $ _productId est l'ID du produit.

$ update_query = "UPDATE {$ _tableName} SET type_id =" configurable "WHERE entity_id = {$ _ productId}"; $ writeConnection-> query ($ update_query); Mais Magento a fourni le concept du modèle pour la connexion à la base de données car ils fournissent une abstraction et sont plus sécurisés que les requêtes SQL directes.