Der Breadcrumb ermöglicht es einem Benutzer, den Ort auf den Websites zu verwalten. Man kann leicht den Breadcrumb auf dem Prestashop erstellen. Wenn Sie ein Modul mit einer separaten Seite auf der Vorderseite erstellen, erstellen Sie einen Front-Controller, indem Sie die ModuleFrontController-Datei erweitern. Diese ModuleFrontController-Datei erweitert FrontController, die die folgende Funktion hat:
Um den Breadcrumb für Ihre Seite zu erstellen, müssen Sie lediglich die gleiche Funktion in Ihrem Front-Controller erstellen (die Sie durch Erweitern des ModuleFrontControllers erstellt haben müssen) und Ihren Breadcrumb-Titel mit dem übergeordneten Breadcrumb anhängen. Bitte schauen Sie in den folgenden Code, um es besser zu verstehen:
geschützte Funktion getBreadcrumbLinks () {$ breadcrumb = parent :: getBreadcrumbLinks (); / * Holen Sie sich das Breadcrumb-Array von der übergeordneten Funktion, die sich in der FrontController.php befindet. * / $ Breadcrumb ['links'] [] = array ('title' => $ this-> module-> l ('level1', 'Current_controller_name'), / * Titel, den Sie an den Speicherort vergeben möchten * / 'url' => $ this-> context-> link-> getModuleLink ('module_name', 'Current_controller_name', array (), (bool)) Konfiguration :: get ('PS_SSL_ENABLED')), / * URL, die Sie für einen Ort angeben möchten * /); $ breadcrumb ['links'] [] = array ('title' => $ this-> module-> l ('level2', 'Current_controller_name'), / * Titel, den Sie der URL * / 'location angeben möchten '=> $ this-> context-> link-> getModuleLink (' module_name ',' Current_controller_name ', array (), (bool) Configuration :: get (' PS_SSL_ENABLED ')) / * URL, die Sie angeben möchten ein Ort */ ); $ breadcrumb ['links'] [] = array ('title' => $ this-> module-> l ('level3', 'Current_controller_name'), / * Titel, den Sie der URL * / 'location angeben möchten '=> $ this-> context-> link-> getModuleLink (' module_name ',' Current_controller_name ', array (), (bool) Configuration :: get (' PS_SSL_ENABLED ')) / * URL, die Sie angeben möchten ein Ort */ ); return $ breadcrumb; }
Wie wird es auf Ihrer Seite aussehen?
Sie müssen die oben genannte Funktion in den von Ihnen erstellten Frontcontroller einfügen. Nachdem Sie den obigen Code in den Front Controller eingefügt haben, wird der Breadcrumb auf der Startseite wie in der Abbildung unten gezeigt angezeigt:
Bonus-Tipp:
Wenn Sie einige Änderungen (wie Entfernen) in den Breadcrumbs vornehmen möchten, können Sie dies mit der folgenden Datei tun: /themes/classic/templates/_partials/breadcrumb.tpl
Über das Warnungsdialogfeld können Sie eine Nachricht in einem Popup-Dialogfeld oder ein Textfeld für Benutzereingaben anzeigen oder eine benutzerdefinierte Ansicht im Dialogfeld anzeigen.
Damit die Ansicht im Popup-Dialogfeld angezeigt wird, muss sie programmgesteuert oder über XML erstellt werden. Anschließend muss die Ansicht im Dialogfeld so eingestellt werden, dass diese Ansicht für den Benutzer im Dialogfeld sichtbar ist.
Gehen Sie folgendermaßen vor, um ein Dialogfeld zu erstellen, in dem ein Feld für Benutzereingaben angezeigt wird.
1. Erstellen Sie eine Ansicht, die im Dialogfeld angezeigt werden soll.
final EditText userInput = new EditText (this);
2. Erstellen und Anzeigen eines Dialogfelds.
new AlertDialog.Builder (this) .setTitle ("Titel des Dialogfelds steht hier") .setView (userInput) .setPositiveButton ("Submit", new DialogInterface.OnClickListener () {@Override public void onClick (DialogInterface dialog, int which ) {// Handle deine Aktion hier, wenn auf "Submit" geklickt wird}}) .setNegativeButton ("Cancel", new DialogInterface.OnClickListener () {@Override public void onClick (DialogInterface dialog, int which) {// Handle deine Aktion hier, wenn auf die Schaltfläche "Abbrechen" geklickt wird}}) .show ();
eBay bietet die Sandbox-Einstellung an. Eine Anwendung, die alle möglichen Aktionen in der Produktionsumgebung ausführt, da es sich um eine einzigartige Umgebung handelt, die nur zum Testen erstellt wurde. Dadurch können Sie Testumgebungen für Anwendungen nachahmen, die mit der eBay-API erstellt wurden. Die eBay-Sandbox-Testsite ermöglicht es Ihnen, die Funktionsweise der Live-Ebay-Produktionssite mit einem Sandbox-Benutzer zu testen und zu verstehen. Innerhalb des eBay-Sandbox-Kontos müssen Sie sich mit dem Konto des Sandbox-Testbenutzers anstelle des eBay-Produktionskontos anmelden. Sandbox-Testbenutzer sind virtuelle eBay-Konten, die nur in der Sandbox-Umgebung existieren. In diesem Artikel sehen wir uns also die schrittweise Vorgehensweise zum Erstellen eines eBay-Sandbox-Testbenutzerkontos an:-
Hinweis: – Sie müssen über ein eBay-Entwicklerprogrammkonto verfügen, bevor Sie sich beim eBay-Entwicklerprogramm anmelden und Testbenutzerkonten konfigurieren können.
SCHRITT 2:- Gehen Sie zum eBay-Sandbox-Registrierungstool
Sobald Sie sich erfolgreich in Ihr eBay-Entwicklerkonto eingeloggt haben. Führen Sie die folgenden Schritte aus, um auf Ihre Sandbox zuzugreifen.
Gehen Sie zuerst zum Navigationsmenü unter Werkzeuge &Muster -> eBay-Sandbox.
Klicken Sie auf das�Einstellung der Sandbox-Benutzerregistrierung.
Nachdem Sie auf die Einstellungen für die Sandbox-Benutzerregistrierung geklickt haben, wird die�Sandbox-Registrierung Seite erscheint wie unten gezeigt.
SCHRITT 3:- Erstellen Sie ein eBay-Verkäufer-/Käufer-Testkonto
Vervollständigen Sie die�Registrieren Sie sich für SandboxFormular aus und klicken Sie dann auf die Schaltfläche Registrieren, um Ihr neues Sandbox-Testbenutzerkonto zu erstellen. Sie können je nach Bedarf mehrere Testbenutzer erstellen. Wenn Sie einen neuen Testbenutzer registrieren, weist eBay diesem Testbenutzerkonto einen vordefinierten Guthabenbetrag zu. Zusätzlich zu diesem Startkapital weist eBay jedes Wochenende automatisch 5000000 US-Dollar für die Fähigkeit jedes Testbenutzers zu, Woche für Woche viele Transaktionen abzuschließen.
Standardmäßig stellt eBay dem Benutzernamen aller Sandbox-Testbenutzer ein� voranTESTBENUTZER_. Das heißt, wenn Sie ein Testbenutzerkonto mit „Davids“ Benutzernamen erstellt haben, lautet Ihr eBay-Sandbox-TestbenutzernameTESTUSER_David„und Sie müssen sich mit diesem Benutzernamen beim Sandbox-Konto anmelden.“Jetzt wurde Ihr eBay-Testbenutzer erfolgreich erstellt.�Sie können sich unter bei Ihrem Sandbox-Konto anmelden https://sandbox.ebay.com/ mit neu erstellten Testbenutzerkontodetails.
Diese Testkonten sind fiktive eBay-Konten, die nur in dieser Sandbox-Einstellung existieren. Wenn Sie Ihre Anwendung während der Testphase ausführen, stehen diese Konten stellvertretend für die Benutzerentitäten, die an den von Ihnen erstellten Scheintransaktionen teilnehmen. Bei Fragen zu eBay oder weiteren Informationen zur Sandbox senden Sie uns bitte eine E-Mail an�at�support@knowband.com.
GraphQL ist eine moderne Abfragesprache für die API. Mit anderen Worten, wir können sagen, dass es sich um eine moderne Abfragesprache auf Anwendungsebene handelt.
Mit Hilfe von GraphQL können wir Daten aus den API-Aufrufen abrufen und es funktioniert auf HTTP als REST. Es bietet dem Kunden eine leistungsstarke Option, damit er fragt, was er genau braucht, und es hilft beim API-Wachstum oder der Evaluierung.
Vorteile von GraphQL
Es liefert nur begrenzt Daten, die wir tatsächlich benötigen. Es werden niemals zusätzliche Daten oder weniger Daten abgerufen, die Sie nicht benötigen.
Es ist ein leistungsstarkes Open-Source-System.
Es bietet die Möglichkeit, die effiziente Codierung durchzuführen. Angenommen, eine Tabelle mit 40 Spalten und manchmal benötigen wir die Daten von nur 10 Spalten oder manchmal 20 usw. Um dieses Problem zu lösen, haben wir in der normalen API zwei Optionen, entweder alle Daten in jedem API-Aufruf abrufen und alle gewünschten oder wir verwenden müssen die Anzahl der APIs für dieselbe Tabelle schreiben, damit wir die effiziente API gemäß den Anforderungen aufrufen können. Aber in GraphQL müssen wir nur eine API schreiben. So wird auch der Zeilencode reduziert.
GraphQL-APIs sind nach Typen und Feldern strukturiert.
GraphQL unterstützt verschiedene Sprachen wie z
C#
.NETZ
Clojure
Elixier
Erlang
Go
Groovy
Java
JavaScript
PHP
Python
Scala
Rubin
In diesem Blog werden wir etwas über GraphQL in PHP erfahren.
Zunächst sollten wir wissen, dass wir in jeder Sprache, um GraphQL zu verwenden, ihre Bibliothek importieren müssen.
In PHP können wir diese Bibliotheksdatei verwenden: webonyx/graphql-php.
Installation
Führen Sie mit Composer einfach Folgendes aus:
Komponist benötigt webonyx/graphql-php
Wie holt GraphQL Daten mit Abfragen?
In REST gibt die API Daten in einer definierten Struktur zurück. Beim Schreiben der API in REST müssen wir die Struktur der Daten definieren, die zurückgegeben werden, aber GraphQL hat keine definierte Struktur, die zurückgegeben wird. Es kann ihre Struktur nach Kundenwunsch ändern.
Der Client muss einige weitere Informationen an den Server senden, um seine Anforderungen zu deklarieren, und diese Informationen werden als Abfrage bezeichnet.
In der Abfrage müssen wir die Root-Felder definieren, mit anderen Worten, wir sagen dasselbe wie die Nutzlast für den Dienst.
lösen
In der realen Anwendung wie E-Commerce-Anwendung, dh PrestaShop, OpenCart, Magneto usw., müssen wir die Kundendaten anhand der Kunden-ID aus der Datenbank abrufen und diese zurückgeben. Unser Punkt ist, dass wir die Arrays nicht zurückgeben müssen, wir müssen die Werte zurückgeben und „graphql-php“ wird sie unverändert an verschachtelte Resolver weitergeben.
Der Resolver ist im Grunde eine Rückruffunktion für jedes Feld. Es gibt immer einen Standardresolver für alle Felder. Wenn wir unsere eigene „Resolve“-Funktion für ein Feld definieren, überschreiben wir einfach den Standard-Resolver.
Die Option�auflösen�ist�eine�sehr�wichtige�Option�der�Felddefinition�.�Sie�ist�eine�,�die�für�die�Rückgabe�des�Werts�unseres�Felds�verantwortlich�ist.� Werte�der�skalaren�Felder�werden�direkt�in�die�Antwort�einbezogen,�während�die�Werte�der�zusammengesetzten�Felder�an�die�weitergegebenwerden verschachtelte�Feldresolver.�Zusammengesetzte�Felder�sind�Schnittstellen,�Unions,�Objekte�etc.
Bei Fragen können Sie uns gerne unter support@knowband.com erreichen. Knowband bietet die besten Module für Prestashop, Opencart, Magento und Magento 2. Werfen Sie einen Blick auf eines unserer beliebtesten für Prestashop namens One page supercheckout:
In diesem Artikel geht es um das Erstellen von HTML-Vorlagen mit jQuery.
Informieren Sie sich über die jQuery
jQuery ist eine schnelle, kleine und funktionsreiche JavaScript-Bibliothek. Es macht Dinge wie das Durchlaufen und Bearbeiten von HTML-Dokumenten, Ereignisbehandlung, Animation und Ajax viel einfacher mit einer benutzerfreundlichen API, die in einer Vielzahl von Browsern funktioniert. Mit einer Kombination aus Vielseitigkeit und Erweiterbarkeit hat jQuery die Art und Weise verändert, wie Millionen von Menschen JavaScript schreiben.
Informieren Sie uns über die jQuery-Vorlage
jQuery Template gibt uns die Möglichkeit bzw. Unterstützung, den Inhalt im Browser anzuzeigen und zu manipulieren. Durch die Verwendung von jQuery Templating können wir JSON-Strings für die HTML-Elemente rendern. Betrachten wir ein einfaches Beispiel: Wir können jQuery Template verwenden, um einige Datensätze anzuzeigen, die wir von einer Ajax-Anfrage erhalten haben.
Ein einfaches Beispiel für jQuery-Vorlagen
Jetzt erstellen wir eine einfache Seite mit jQuery-Vorlagen. Wir verwenden ausschließlich das jQuery-Plugin. In diesem Beispiel zeigen wir Ihnen, wie Sie eine Vorlage erstellen und den Inhalt aus JSON rendern.
Anforderung
Lassen Sie uns zuerst die Anforderung verstehen. Angenommen, wir müssen eine Webseite wie die KnowBand-Website erstellen, um die Module für die E-Commerce-Plattform wie Opencart, Prestashop usw. zu verkaufen. Wir haben einige E-Commerce-Module oder Plugins, die wir auf der KnowBand-Website auflisten möchten. Auf der Auflistungsseite zeigen wir also den Namen, das Bild und den Preis des Moduls an. Wir verwenden die folgende JSON-Zeichenfolge, um die Daten aufzulisten:
Wir haben ein Thumbnail innerhalb des script-Tags erstellt, z. B. #blog, script-Tag, und es wurde als Vorlage verwendet. Im obigen Code haben wir {{ }} für Platzhaltervariablen verwendet. Lassen Sie uns verstehen, was wir im obigen Code getan haben:
var temp = $.trim($('#blog').html()); // Es wird den gesamten Inhalt des Skript-Tags #blog in eine temporäre Variable laden. var x = temp.replace(/{{name}}/ig, obj.name); // Wildcard-Variable {{name}} durch entsprechende Daten aus dem JSON ersetzt. x = x.replace(/{{image_url}}/ig, obj.image_url); // Wildcard-Variable {{image_url}} durch entsprechende Daten aus dem JSON ersetzt. x = x.replace(/{{price}}/ig, obj.price); // Wildcard-Variable {{price}} durch entsprechende Daten aus dem JSON ersetzt. x = x.replace(/{{module_url}}/ig, obj.module_url); // Wildcard-Variable {{module_url}} durch entsprechende Daten aus dem JSON ersetzt. $('.container').append(x); // Inhalt an Container div angehängt.
Durch die Verwendung der Platzhaltertechnik
Bei dieser Technik fügen wir den Inhalt im HTML-Code an, nachdem wir die Daten mithilfe der jQuery-Platzhaltertechnik ausgefüllt haben. Der vollständige Code ist unten angegeben:
Im obigen Beispiel haben wir ` (Back-Tick) als Template-Literal und ${ } als Platzhalter verwendet. Wenn wir Methode 1 mit Methode 2 vergleichen, können wir leicht sagen, dass „Vorlagenliteral“ und „Platzhalter“ unsere Aufgabe erleichtern. In diesem Beispiel haben wir den Vorlagencode in einer Schleife geschrieben und unsere Platzhalter durch die entsprechenden Daten ersetzt.
Zusammenfassung
Um mehr über jQuery-Vorlagen zu erfahren, empfehle ich Ihnen, sich die Dokumentation für jQuery-Vorlagen auf der offiziellen jQuery-Website anzusehen.
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.
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.
Magento ist eine der besten E-Commerce-basierten Open-Source-Plattformen, die in PHP geschrieben ist. Magento bietet drei verschiedene Plattformen:
Magento Community Edition
Magento Enterprise Edition
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.
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:
BENUTZERNAME – Der Benutzername des Administrators. Dies wird verwendet, um sich im magneto-Backend anzumelden.
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.
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));
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.
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.
Nach dem Lesen dieses Blogs können Sie die Datei in PHP-Sprache lesen. Im Blog erhalten Sie genügend Informationen zu den verschiedenen Methoden, die in PHP zum Lesen einer Datei verwendet werden.
Lassen Sie uns etwas über die Methode zum Lesen von Dateien in PHP lernen
PHP bietet verschiedene Methoden zum Lesen der Datei:
Traditionelle Methoden
Bei dieser Art von Methode zum Lesen einer Datei müssen wir den 3-Schritt befolgen.
Öffne die Datei.
Lesen Sie die Datei.
Schließen Sie die Datei.
Sehen wir uns einige traditionelle Methoden an:
fopen ():
Um eine Datei zu lesen, müssen wir eine Datei mit öffnen
$ file = fopen ("test.txt",
feof ()
Diese Methode prüft, ob Sie bereits bis zum Ende der Datei gelesen haben. Dies gibt true zurück, bis die letzte Zeile der Datei gelesen wird, und sobald wir die letzte Zeile überqueren, wird false zurückgegeben. Wir verwenden diese Methode in einer Schleife, um eine Datei von der ersten bis zur letzten Zeile zu lesen.
$ file = fopen ("test.txt",
fclose ()
Wir verwenden diese Methode, um eine Datei nach dem Lesen der Datei zu schließen. Nach dem Schließen einer Datei können wir diese Datei nicht mehr lesen.
$ file = fopen ("test.txt",
fgets ()
Wir verwenden diese Methode, um eine Datei zeilenweise zu lesen. Sie sammelt eine einzelne Datenzeile aus Ihrer Datei und gibt sie als Zeichenfolge zurück. Und von dort aus können Sie entweder die Linie drucken oder sie gemäß Ihren Anforderungen verarbeiten.
<? php $ file = fopen ("test.txt",
Stirnrunzeln ()
Wir verwenden diese Methode, wenn wir eine Datei in einer begrenzten Größe lesen möchten. Wir müssen bei dieser Methode eine Größenbeschränkung in Bytes übergeben, und dann liest diese Methode die Datei bis zu einer bestimmten Größenbeschränkung und ignoriert die
$ file = fopen ("test.txt",
Hinweis: Egal welche Zahl Sie angeben, fread liest nicht mehr als 8,192 Bytes (8 KB). Angenommen, die Datei ist nicht größer als 8 KB, sollte der folgende Code die gesamte Datei in eine Zeichenfolge einlesen.
<? php $ file = fopen ("test.txt",
fgetss ()
Diese Funktion ähnelt der Funktion fgets (), entfernt jedoch alle gefundenen HTML- oder PHP-Tags und lässt nur einfachen Text übrig. Code:
<html> <head> <title> </ title> </ head> <body> <div class = "editor-content" style = "text-align: left"> <p> Knowband ist einer der führenden Namen als eine Entwicklungs- und Marketingfirma für E-Commerce-Plugins. </ p> <p>
Ausgabe:
Knowband ist einer der führenden Namen als Entwicklungs- und Marketingunternehmen für E-Commerce-Plugins. Unser Team besteht aus hochqualifizierten und erfahrenen IT-Fachleuten.
Andere Methoden
PHP bietet auch verschiedene andere Methoden für den Umgang mit Dateien, die wir für verschiedene Zwecke verwenden können.
file_get_contents ()
Diese Methode kann verwendet werden, um alle Daten aus einer Datei als Zeichenfolge zu erfassen. Wie können wir zum Beispiel alle Daten von unserer Webseite sammeln? Sie haben das gesehen
Die Funktion readfile speichert den gesamten Inhalt einer Datei oder Webseite im Standardausgabepuffer. Standardmäßig gibt dieser Befehl eine Fehlermeldung aus, wenn er fehlschlägt. Um dieses Verhalten zu vermeiden, verwenden wir @readfile (). Lassen Sie den Unterschied zwischen readfile && @readfile erkennen. Versuchen wir, eine falsche Datei mit readfile zu öffnen:
(!)?Warning: readfile(wrong_test.txt): failed to open stream: No such file or directory
Aufruf-Stack
Datei nicht gefunden. Ersetzen Sie jetzt readfile durch @readfile und wir erhalten die Ausgabe als: Datei nicht gefunden.
Gute Übung!
Wenn wir Programmierer sind, sollten wir uns immer vor Augen halten, dass unser Code in der Lage ist, mit Fehlern oder Zuständen umzugehen. Möglicherweise wurde die zu lesende Datei aus dem Pfad verschoben oder die Berechtigung für die Datei wurde geändert, sodass Sie den Inhalt nicht abrufen können. Daher sollten wir vor dem Lesen einer Datei überprüfen, ob die Datei vorhanden ist und über Leseberechtigung verfügt.
Wenn Sie eine PHP-E-Commerce-Anwendung wie PrestaShop, OpenCart, Magneto usw. haben, können Sie die Codes verwenden, um die Datei gemäß Ihren Anforderungen zu lesen.