Wie migriere ich den Magento Store von Localhost auf den Server?

Nachdem Sie Ihren Traum-Magento-Shop auf localhost erstellt haben, wenn es an der Zeit ist, ihn auf den Produktionsserver zu verschieben, werden die Leute manchmal nervös. Es ist ein Kinderspiel und wir helfen Ihnen bei der Migration Ihres Magento-Shops von Localhost auf Produktionsserver.

Voraussetzung

1. Arbeitsdomäne 2. Produktion bereit für Magento

Arbeitsdomäne

Mit funktionierender Domain ist die Domain gemeint, auf der Sie Ihren Shop hosten werden. Zum Beispiel�https://mademo1.knowband.com

Produktion bereit für Magento

Das bedeutet, dass auf dem Server alle Elemente ordnungsgemäß eingerichtet sein sollten, die für die Ausführung von Magento erforderlich sind. Wenn Sie diesbezüglich Hilfe benötigen, können Sie den Link überprüfen https://www.knowband.com/blog/magento-tutorials/install-magento-using-command-line/

Schritte für die Migration

1. Exportieren Sie Ihre localhost-Datenbank

Exportieren Sie Ihre localhost Magento Store-Datenbank. Es gibt zwei Möglichkeiten, dies zu tun: A) über PhpMyAdmin B) CLI

Mein persönlicher Favorit ist die Befehlszeilenschnittstelle (CLI), da sie schneller ist als die vorherige. Wir werden jeden Weg einzeln sehen.

a)PhpMyAdmin

Melden Sie sich bei PhpMyAdmin an und gehen Sie zu Ihrer Datenbank. Dort sehen Sie in der Kopfzeile die Option „Exportieren“. Hier ist “testmage1” der Name meiner Datenbank. Überprüfen Sie das folgende Bild als Referenz

PhpMyAdmin

b) CLI

CLI oder Befehlszeilenschnittstelle ist besser als PhpMyAdmin, da es schneller ist.

mysqldump -u root -p testmage1 > Datenbankname.sql

Setzen Sie den Namen Ihrer Datenbank an die Stelle von Testmagier1. Dieser Befehl erstellt den Dump Ihrer Datenbank mit dem Namen Datenbankname.sql

2. Komprimieren und laden Sie Ihre Magento-Dateien hoch

Nachdem die Datenbank exportiert wurde, ist es jetzt an der Zeit, Ihre Magento-Speicherdateien zu komprimieren. Erstellen Sie die ZIP-Datei aller Dateien Ihres Shops. Auf diese Weise wird es einfach sein, es auf den Server hochzuladen. Öffnen Sie nun Filezilla und laden Sie die gezippte Datei über den Server hoch und entpacken Sie sie in den gewünschten Ordner.

3. Datenbank importieren

Jetzt ist es an der Zeit, Ihre Datenbank in Ihre Produktion zu importieren. Nun gibt es wieder zwei Möglichkeiten, dies zu tun

a) PhpMyAdmin

Melden Sie sich bei Ihrem PhpMyAdmin der Produktion an und erstellen Sie eine leere Datenbank mit demselben Namen wie auf Ihrem lokalen Host. Nach dem Erstellen einer Datenbank sehen Sie “Import” Option in der Kopfzeile. Überprüfen Sie das Bild als Referenz.

Nachdem Sie auf den Import-Browser geklickt haben, legen Sie wie im Bild gezeigt ab und klicken auf GO. Dies dauert einige Minuten und Ihre Datenbank wird importiert.

b) CLI

Zum Importieren der Datenbank über CLI müssen Sie Ihre Datenbankdatei über FTP hochladen und sich über Terminal bei Ihrem Server anmelden. Verwenden Sie den folgenden Befehl, um die Datenbank zu importieren

mysql -u Benutzername -p Datenbankname < file.sql

Datenbankname ist hier der Name der Datenbank, in die Ihre Datei importiert wird, und file.sql ist die Datei, die Sie importieren.

4. Ändern Sie local.xml

Jetzt müssen wir unsere local.xml-Datei ändern, damit unser Magento auf die Datenbank zugreifen kann. Öffnen Sie Magento_Root/app/etc/local.xml. Suchen Sie darin nach Knoten.



Aktualisieren Sie diese Tags gemäß der Produktionskonfiguration. Ihre Datenbankverbindung ist jetzt abgeschlossen.

5. Domänennamen aktualisieren

Jetzt ist es an der Zeit, den Domainnamen in die Datenbank einzutragen. Offener Tisch core_config_data und aktualisieren Sie Ihre Domain in 1.web/unsecure/base_url 2.web/secure/base_url wie im Bild gezeigt.

6. Leeren Sie den Cache

Jetzt ist es an der Zeit, Ihren Cache zu aktualisieren, da möglicherweise ein Cache von Ihrem Localhost-Computer vorhanden ist. Um Ihren Cache zu aktualisieren, gehen Sie zu Magento_Root/var/cache. Dieser Ordner enthält Ihren Cache. Löschen Sie alle Dateien und Verzeichnisse dieses Ordners. Jetzt sind Sie fertig. Ihr Magento-Shop wurde erfolgreich von localhost auf den Produktionsserver migriert. Gehen Sie zu Ihrem Webbrowser und geben Sie Ihre Domain in die Adressbasis ein und drücken Sie die Eingabetaste. Ihre Website wird so geöffnet, wie sie in Ihrem Localhost war.

Bottomline

Dies sind die Schritte zum Migrieren Ihres Localhost-Magento-Stores auf den Produktionsserver. Bewahren Sie immer eine Sicherungskopie Ihres Codes und Ihrer Datenbank auf, falls etwas schief geht. Wenn Ihre Website nicht richtig geöffnet wird, führen Sie die oben genannten Schritte erneut durch und prüfen Sie, ob Sie etwas verpasst haben. Viel Spaß beim Codieren 🙂

How to Track Visitor?s Data on Magento?

Magento ist eine der leistungsfähigsten Open Source E-Commerce-Plattformen auf PHP-Basis. Eine der leistungsfähigsten Funktionen ist das Protokollierungssystem für Benutzeraktivitäten. Durch die Verwendung von Benutzerdaten können wir das Kunden- / Besucherverhalten analysieren, das letztendlich im Geschäft hilft. Wenn wir beispielsweise wissen, dass Kunden häufig einen bestimmten Abschnitt einer Kategorie besuchen, können Sie die Kampagne ausführen, um die Conversion-Rate in Bezug auf eine Bestellung in Ihrem Magento-Shop zu erhöhen.

Magento hat ein dediziertes Modul Mage_Log um das Protokoll des Kunden / Besuchers zu speichern.

Es speichert hauptsächlich die folgenden Daten 1.Kunden, die sich bei 2 angemeldet haben.Aktuelle Besucher 3.Past Besucher 4.Details wie IP, Erster Besuch, Letzter Besuch usw

Es gibt zwei Haupttabellen, in denen Daten gespeichert werden

1.log_customer 2.log_visitor

Jedes Mal, wenn ein Benutzer den Laden besucht, generiert der Magento eine besucher_id und speichern Sie es in einem log_visitor Tabelle. Wenn ein registrierter Kunde den Store mit seinen Anmeldeinformationen besucht, dann a log_customer Tabelle wird aktualisiert.

Sie können die Protokollierungsoption über das Magento-Verwaltungsfeld aktivieren oder deaktivieren. Schritte dazu sind

Gehe zu

System?->?Configuration?->?System?->?Log

Wir können Besucherdaten mit dem folgenden Code erhalten

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

Hier gibt $ visitor_data ein Array der Kunden- / Besucherinformationen zurück, die in der Sitzung gespeichert werden

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, wie Gecko) Chrome / 537.36 Safari / 68.0.3440.84 (http: _akzeptor_charset) => [Anfragezeichen] => [Anfragezeichen] => / test [session_id] => / test [session_id] => njt537.36cc0.9ccNX first_visit_at] => 3-2-4 5: 85: 8 [is_new_visitor] => [last_visit_at] => 1-3-2018-11: 22: 14: 42 [besucher_id] => XNUM

Wenn Sie bestimmte Daten wie den Zeitpunkt des ersten Besuchs beim letzten Besuch benötigen, können Sie auch dessen Modell verwenden

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

Ich hoffe, dies hilft Ihnen bei der Erfassung der Besucherdaten in Ihrem Magento-Shop. Viel Spaß beim Codieren 🙂

Wie erstelle ich programmatisch einen Kunden in Magento?

Magento ist heute eine der flexibelsten und am weitesten verbreiteten E-Commerce-Plattformen. Während unserer Entwicklung müssen wir häufig Kunden über unseren Code erstellen. Wenn wir beispielsweise ein Magento-Plugin entwickeln, um unseren Magento-Shop mit Marktplätzen wie Walmart, Etsy usw. zu verbinden, erstellen wir über unseren Code eine Bestellung für den Kunden. Um jedoch eine Bestellung zu erstellen, müssen wir einen Kunden erstellen, falls dieser Kunde nicht in unserem Magento-Shop vorhanden ist. Wir können Kunden in Magento einfach mit dem folgenden Code erstellen.

Code zum Erstellen eines Kunden in Magento:

$ _website = Mage :: app () -> getWebsite () -> getId (); $ store = Mage :: app () -> getStore (); $ _firstName = 'Jhon'; $ _lastName = 'Doe'; $ _customerEmail = 'demo@demo.com'; $ _customerPassword = '#KnowbandPlugins'; $ _newCustomer = Mage :: getModel ("Kunde / Kunde"); $ _newCustomer-> setWebsiteId ($ _ website) -> setStore ($ store) -> setFirstname ($ _ firstName) -> setLastname ($ _ lastName) -> setEmail ($ _ customerEmail) -> setPassword ($ _ customerPassword); versuchen Sie {$ _newCustomer-> save (); } catch (Ausnahme $ e) {Mage :: getSingleton ('customer / session') -> addException ($ e, $ this -> __ ('Fehler beim Erstellen des Kunden'); Mage :: logException ($ e); } <a href="https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-26.png"> <img class = "Keine Größe-Medium wp-image-22306 ausrichten" src = "https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-26-300x48.png" alt = "customer-in-magento erstellen" width = "300" height = "48" /> </a>

Dieser Kunde verfügt jedoch nur über grundlegende Informationen wie Vorname, Nachname, E-Mail-Adresse usw. Er hat keine Versand- oder Rechnungsadresse. Über den folgenden Code können wir vollständige Adressinformationen des Kunden speichern.

Code zum Speichern der Adresse des Kunden:

$ _website = Mage :: app (); getWebsite (); $ _customerEmail = 'demo@demo.com'; // Kunden-E-Mail $ _countryId = 'IN'; $ _postCode = '201301'; $ _city = 'Noida'; $ _telephone = '1111111111'; $ _fax = ''; $ _company = 'Velocity Software Solutions'; $ _street = ''; $ _customer = Mage :: getModel ('customer / customer') -> setWebsiteId ($ _ website ->; getId ()) -> loadByEmail ($ _ customerEmail); $ _customerAddress = Mage :: getModel ("Kunde / 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'); versuchen Sie {$ _customerAddress-> save (); } catch (Ausnahme $ e) {Mage :: getSingleton ('customer / session') -> addException ($ e, $ this -> __ ('Fehler beim Speichern der Kundenadresse.')); Mage :: logException ($ e); } <a href="https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-27.png"> <img class = "Keine Größe-Medium wp-image-22308 ausrichten" src = "https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-27-300x133.png" alt = "Adresse des Kunden speichern" width = "300" height = "133" /> </a>

Jetzt ist die Kundenadresse vollständig. Hoffe, der oben genannte Code hilft Ihnen dabei, einen neuen Kunden zu Ihrem Magento-Shop hinzuzufügen.


Wie installiere ich Magento über die Kommandozeile?

Magento ist eine der besten E-Commerce-basierten Open-Source-Plattformen, die in PHP geschrieben ist. Magento bietet drei verschiedene Plattformen:

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

Hier lernen wir, wie man Magento über die Kommandozeile (CLI) installiert. Die Installation von Magento über die Befehlszeile ist eine der effizientesten Installationsmethoden, wenn das Programm auf Servern installiert wird.

Laden Sie Magento Community Edition 1.X herunter

Man kann die benötigte Version des Magento von der offiziellen Webseite des Magnetzünders herunterladen. Verwenden Sie den folgenden Link, um Ihr Paket herunterzuladen.

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

Sie werden aufgefordert, sich anzumelden. Wenn Sie noch kein Konto haben, erstellen Sie ein Konto und fahren Sie fort.

Dekomprimieren Sie die heruntergeladene Datei

Verschieben Sie die Datei in ein Verzeichnis, in dem Sie sie installieren möchten, und dekomprimieren Sie sie.

a) Wenn es sich um eine Zip-Datei handelt, gehen Sie folgendermaßen vor:

Syntax:- entpacke Dateiname zB –

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

b) Wenn es sich um eine TAR-Datei handelt, gehen Sie folgendermaßen vor:

Syntax:- tar xf dateiname zB –

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

Voraussetzung für die Magento-Installation:

Für die Installation von Magento müssen Sie die Standard-Systemanforderungen erfüllen. Gemäß der Dokumentation von Magento müssen Sie die folgenden Voraussetzungen für die Installation von Magento erfüllen.

a) Umwelt:

LAMP (Linux, Apache, MySQL und PHP) oder LNMP-Stack

b) Betriebssystem:

Linux x 86, x86-64

c) Webserver:

  • Apache 2.x
  • Nginx 1.7.x

d) Server-Hosting:

  • Möglichkeit, geplante Jobs (crontab) mit PHP 5 auszuführen.
  • Möglichkeit, Optionen in .htaccess-Dateien zu überschreiben.

e) PHP:

  • PHP 5.6
  • PHP 5.5
  • PHP 5.4

f) Erforderliche Erweiterungen:

  • PDO_MySQL
  • Simplexml
  • Mcrypt
  • Hasch
  • GD
  • DOM
  • Iconv
  • Curl
  • SOAP (für Webservices API)

g) Zusätzliche Konfiguration:

  • safe_mode aus
  • memory_limit mindestens 256 MB (512 MB empfohlen)

h) Datenbank:

  • MySQL 5.6 (Oracle oder Percona)

Für detaillierte Informationen überprüfen Sie bitte:

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

Datenbank einrichten

Jetzt richten wir die Datenbank für unser Magento ein. Um eine Datenbank einzurichten, muss man folgende Dinge haben

  1. DB Host
  2. DB-Name
  3. DB-Benutzername
  4. DB-Passwort

Schritte zum Erstellen einer Datenbank:

Schritt 1. Melden Sie sich bei Ihrem MySQL an:

MySQL -uDB_User -pDB_Password -hDB_Host

a) DB_User: – Benutzername des MySQL

b) DB_Password: – Passwort des MySQL

c) DB_Host: – Hostname des MySQL

Schritt 2. Erstellen Sie eine Datenbank:

Syntax: – Datenbank DB_NAME erstellen ZB Datenbank kb_mage_db erstellen; Hier kb_mage_db ist der Name der Datenbank, die wir erstellen.

Schritt 3. Überprüfen Sie die neu erstellte Datenbank mit dem folgenden Befehl

Datenbanken anzeigen; Dadurch wird die Liste aller in Ihrem System erstellten Datenbanken angezeigt. Hier der Name des

Schritt 3. Beenden Sie Ihren MySQL-Server mit dem folgenden Befehl

exit;

Installation von Magento

Für die CLI-Installation müssen wir den folgenden Befehl ausführen:

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" yes "\ --use_secure" yes "\ --secure_base_url" SITE_URL "\ --use_secure_admin" yes "\ --admin_firstname" ADMIN_FIRST_NAME "\ --admin_lastname" ADMIN_FIRST_LAST_NAME "\ --admin_email" EMAIL "\ --admin_username" USERNAME "

Erläuterung der im CLI-Befehl verwendeten Schlüsselwörter.

  1. Gebietsschema: Platzieren Sie einen Sprachcode wie "en_US", der in Magento verwendet werden soll.
  2. Zeitzone: Platziert die Zeitzone, die in Magento verwendet werden soll. In diesem Fall haben wir "America / Los_Angeles" verwendet.
  3. Default_currency: Platziert die Währung, die in Magento verwendet werden soll.
  4. DB_HOST – Datenbank-Hostname, bei einem lokalen System setzen Sie localhost
  5. DB_NAME – Der Name Ihrer Datenbank, z. B. kb_mage_db
  6. DB_USER – Der Benutzername mit Zugriffsrechten auf die Datenbank
  7. DB_PASS – Das Kennwort für den Datenbankbenutzer
  8. SITE_URL – Der Pfad, in dem Magento installiert ist, z https://www.kbmagedomain.com/
  9. ADMIN_FIRST_NAME – Vorname des Administrators
  10. ADMIN_LAST_NAME – Nachname des Administrators
  11. E-MAIL – Die E-Mail-Adresse des Geschäftsinhabers, z email@knowband.com
  12. BENUTZERNAME – Der Benutzername des Administrators. Dies wird verwendet, um sich im magneto-Backend anzumelden.
  13. PASSWORT – Das Administratorkennwort. Dies wird verwendet, um sich im magneto-Backend anzumelden.

Nach der Installation von Magento wird eine Erfolgsmeldung mit der Verschlüsselungs-ID angezeigt. Öffnen Sie nun Ihren bevorzugten Browser und überprüfen Sie, ob Sie Magento mit der von Ihnen verwendeten URL installiert haben.


Wie programmiere ich Bestellungen in Magento?

Manchmal müssen wir programmgesteuert Bestellungen in Magento erstellen. Angenommen, Sie erstellen ein Magento-Plugin für Ihr Geschäft, um es mit dem Marktplatz wie Walmart oder Etsy zu verbinden.

Schritte zum Erstellen von Aufträgen:

  • Wir definieren Kundendaten wie Vorname, Nachname, E-Mail.
  • Definieren Sie die Versand- und Rechnungsadresse des Kunden.
  • Versand- und Zahlungsart des Kunden festlegen.
  • Definieren Sie das Produkt und die Menge, die in unserem Magento Store bestellt werden muss.
  • Erstellen Sie einen Kunden, wenn der Kunde in unserem Magento-Shop nicht existiert. Es ist ein optionaler Schritt.
  • Produkt zum Angebot des Kunden hinzufügen.
  • Fügen Sie dem Angebot des Kunden die Versand- und Rechnungsadresse hinzu.
  • Angebot des Kunden erstellen und speichern.
  • Die Bestellung wird in Ihrem Magento-Shop erstellt.

Benutzen

         $ _store = Mage :: app () -> getStore (); $ _website = Mage :: app () -> getWebsite (); $ _firstName = John '; $ _lastName = 'doe; $ _email = 'demo@demo.com'; / * * Benutzerdefinierte Rechnungsadresse * / $ billingAddress = array ('customer_address_id' => '', 'prefix' => '', 'firstname' => $ _firstName, 'middlename' => '', 'lastname' => $ _lastName, 'suffix' => '', 'company' => '', 'street' => array ('0' => 'Sektor 63', // Erforderlich '1' => 'Noida, UP') , 'city' => 'Noida', 'country_id' => 'IN', // Ländercode 'region' => 'UP', 'region_id' => '', 'postcode' => '201301', ' Telefon '=>' 888-888-8888 ',' Fax '=>' ',' save_in_address_book '=> 1); / * * Benutzerdefinierte Versandadresse * / $ shippingAddress = array ('customer_address_id' => '', 'prefix' => '', 'firstname' => $ _firstName, 'middlename' => '', 'lastname' => $ _lastName, 'suffix' => '', 'company' => '', 'street' => array ('0' => 'Sektor 63', // Erforderlich '1' => 'Noida, UP') , 'city' => 'Noida', 'country_id' => 'IN', // Ländercode 'region' => 'UP', 'region_id' => '', 'postcode' => '201301', ' Telefon '=>' 888-888-8888 ',' Fax '=>' ',' save_in_address_book '=> 1); / ** * Geben Sie die Versandart ein, die Sie verwenden möchten. Einige der anderen Versandarten * sind tablerate_tablerate, freeshipping_freeshipping usw. * Hier verwenden wir flatrate_flatrate * / $ _shippingMethod = 'flatrate_flatrate'; / ** * Geben Sie die Zahlungsmethode ein, die Sie verwenden möchten. Einige der Zahlungsmethoden der Bestellung * sind checkmo, free, banktransfer, ccsave, purchaseorder usw. * / $ _paymentMethod = 'cashondelivery'; / ** * Geben Sie eine Reihe von Produkten und deren Menge an. * $ 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); / ** * Vorbereitung des Kunden auf das Angebot * Wenn der Kunde nicht registriert ist, legen wir einen neuen Kunden an. Dies ist ein optionaler Prozess. * / if (! $ customer-> getId ()) {$ customer = Mage :: getModel ('customer / customer'); $ customer-> setWebsiteId ($ _ website-> getId ()) -> setStore ($ _ store) -> setFirstname ($ _ firstName) -> setLastname ($ _ lastName) -> setEmail ($ _ email); / ** * Neuen Kunden anlegen * Wenn Sie keinen neuen Kunden anlegen möchten, überspringen Sie try-catch. * / try {// Passwort für Kunden generieren. Sie können dafür auch ein // benutzerdefiniertes Kennwort verwenden. $_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 ist das Array der Antwort mit dem Status der Auftragserstellung. * / $ response ['success'] = true; $ response ['error'] = false; $ response ['messages'] = 'Bestellnummer'. $ incrementId. ' erfolgreich erstellt. '; } catch (Mage_Core_Exception $ e) {$ response ['success'] = false; $ response ['error'] = true; $ response ['messages'] = $ e-> getMessage (); Mage :: logException ($ e); } catch (Ausnahme $ e) {$ response ['success'] = false; $ response ['error'] = true; $ response ['messages'] = $ this -> __ ('Fehler beim Verarbeiten der Reihenfolge. Bitte versuchen Sie es später noch einmal. '); Mage :: logException ($ e); } Mage :: app () -> getResponse () -> setBody (Mage :: helper ('core') -> jsonEncode ($ response));

Bitte gehen Sie den oben genannten Code durch


Wie führe ich Direct SQL-Abfragen in Magento aus?

Heute werden wir lernen, wie man läuft

Holen Sie sich das Kernressourcenmodell –

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

Danach müssen wir je nach Bedarf eine Lese- oder Schreibverbindung herstellen.

/ ** * Leseverbindung abrufen * / $ readConnection = $ resource-> getConnection ('core_read'); / ** * Schreibverbindung abrufen * / $ writeConnection = $ resource-> getConnection ('core_write');

Den richtigen Tabellennamen holen –

Wenn Sie das Präfix der Tabelle nicht kennen, können Sie den folgenden Code verwenden, um den korrekten Tabellennamen abzurufen.

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

Wenn das Präfix ist mage_ Dann lautet der Name der Tabelle, die zurückgegeben wird mage_catalog_product_entity

Daten lesen –

Verwenden Sie den folgenden Code, um Daten aus der Tabelle zu lesen

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

Hier gibt $ query_result das Ergebnis der Auswahlabfrage zurück. In unserem Fall wird das Array des gesamten Produkts zurückgegeben. Wenn Sie nur Produktdaten benötigen, verwenden Sie den folgenden Befehl.

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

$ _productId ist die ID des Produkts, dessen Daten wir benötigen.

Daten schreiben –

Verwenden Sie zum Einfügen von Daten in die Tabelle den folgenden Code.

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

Aktualisierte Daten –

Wenn wir die type_id eines Produkts auf "konfigurierbar" aktualisieren müssen, können wir folgenden Code verwenden. Hier ist $ _productId die Produkt-ID.

$ update_query = "UPDATE {$ _tableName} SET type_id =" konfigurierbar "WHERE entity_id = {$ _ productId}"; $ writeConnection-> query ($ update_query); Magento hat jedoch das Konzept des Modells für die Datenbankverbindung bereitgestellt, da sie eine Abstraktion bieten und sicherer sind als die direkten SQL-Abfragen.