How to add Google reCaptcha in your Magento Store?

As the name suggests, Captcha (“Completely Automated Public Turing test to tell Computers and Humans Apart”), is a service provided by Google that prevents the sites from spam and bots. Incorporating Captcha is one of the ways of identifying whether the visitor trying to register in your site is a human or a bot.

Despite it’s extensive use in almost every industry that has their online presence, the exact difference between Captcha and reCaptcha is not known to some. Moreover, some of the site owners are still baffled regarding which one should they choose. If you are all bailed up with these questions, then, this article can help you out. The write-up even brings forth the way to incorporate Captcha and reCaptcha in Magento sites.

What is the difference between Captcha and reCaptcha?

Both Captcha and reCaptcha serves the purpose of protecting the site from robots.

captcha
Captcha shown in the registration of the site shows up an equation using numbers and ask the user to complete the math equation like addition, subtraction, or multiplication. Thus, bots and spammers have no chances.

On the other hand, ReCaptcha is similar to captcha, but it supports two versions. The first offers you to enter some words or digits from the image, and the second offers you to mark the checkbox “I’m not a robot”.

Which one should you choose – Captcha or reCaptcha?

While both the system serves the same purpose for you, the latter is a more preferable option. From the customer point-of-view, reCaptcha is considered to be a more feasible option. The complicated Captcha and it’s fuzzy text are considered annoying by the users. In some of the cases, it has even cost some conversions to the sites. However, reCaptcha protects your site from spam without annoying your authentic users. Hence, the security constraints coupled with the ease of navigation of the site users provide a plus point to reCaptcha over Captcha.

How to incorporate Captcha and reCaptcha on your Magento store?

Magento 1.9 and 2 support CAPTCHA, but it is disabled by default.

In order to enable Captcha protection for the administration login page on Magento 1.9, follow these steps:

Log?in?to?your?Magento?store?and?navigate?to?the?top?menu?bar.?Click?System?->?Configuration.

In?the?Configuration?tab,?you’ll?find?a?number?of?options?on?the?left?side.?Scroll?down?and?click?on?Advanced?->?Admin?->?CAPTCHA.

By default this option is disabled, enable it by selecting ‘Yes’.

Fill the configuration options that comprises of the following:

De la police:?select the font that appears in the CAPTCHA.
Forms box:?select the forms where you want to display the Captcha protection.
Displaying Mode: Select whether you want the CAPTCHA to appear always or after a certain number of failed login attempts.
CAPTCHA timeout: Fix the timeout session for the Captcha.
Number of Symbols: Specify the range of symbols that you want to allow.
Symbols used in Captcha: Specify the symbols that you want to include in Captcha

Click Sauvegarder. This will enable the Captcha on the login form of the site.

Making the job of site protection even easier, Knowband offer an easy-to-use, Magento Google reCaptcha extension that can help you incorporate reCaptcha not just on the login page, but on the checkout page and other such web forms of your site. For this, you are required to obtain Google Site Key and Secret Key.

Here’s how it works.

Get the Magento Google reCaptcha module from the Knowband and install it in your Magento store. Share the retrieved Site and Secret key, select the web pages where you want to display it and the reCaptcha will be incorporated in your store.

Your license is inactive or expired, please subscribe again!

Comment créer des miettes de pain dans PrestaShop 1.7?

Introduction

Le fil d'Ariane permet à un utilisateur de conserver l'emplacement sur les sites Web. On peut facilement créer le miettes de pain sur le Prestashop. Si vous créez un module avec une page distincte au recto, créez un contrôleur frontal en développant le fichier ModuleFrontController et ce fichier ModuleFrontController étend FrontController, qui a la fonction suivante:

fonction protégée getBreadcrumbLinks () {$ breadcrumb = array (); $ breadcrumb ['links'] [] = array ('title' => $ this-> getTranslator () -> trans ('Home', array (), 'Shop.Theme.Global'), 'url' => $ this-> context-> link-> getPageLink ('index', true),); retour $ chapelure; }

Comment ajouter?

Maintenant, pour créer le miettes de pain pour votre page, il vous suffit de créer la même fonction dans votre contrôleur frontal (que vous devez avoir créée en étendant le ModuleFrontController) et d’ajouter votre titre de miettes de pain et le lien avec le miettes de pain parent. Veuillez examiner le code suivant pour mieux le comprendre:

fonction protégée getBreadcrumbLinks () {$ breadcrumb = parent :: getBreadcrumbLinks (); / * Récupère le tableau Breadcrumb de la fonction parente située dans le fichier FrontController.php * / $ breadcrumb ['links'] [] = array ('title' => $ this-> module-> l ('level1', 'Nom_contrôleur_d'actuel'), / * Titre que vous souhaitez attribuer à l'emplacement * / 'url' => $ this-> context-> link-> getModuleLink ('nom_module', 'nom_contrôleur_controller', array () Configuration :: get ('PS_SSL_ENABLED')), / * URL que vous souhaitez fournir pour un emplacement * /); $ breadcrumb ['links'] [] = array ('title' => $ this-> module-> l ('level2', 'Current_controller_name'), / * Titre que vous voulez donner à l'emplacement * / 'url '=> $ this-> context-> link-> getModuleLink (' nom_du_module ',' nom_du_contrôleur_d'actuel ', array (), (bool) Configuration :: get (' PS_SSL_ENABLED ')), / * URL que vous souhaitez fournir une location */ ); $ breadcrumb ['links'] [] = array ('title' => $ this-> module-> l ('level3', 'Current_controller_name'), / * Titre que vous voulez donner à l'emplacement * / 'url '=> $ this-> context-> link-> getModuleLink (' nom_du_module ',' nom_du_contrôleur_d'actuel ', array (), (bool) Configuration :: get (' PS_SSL_ENABLED ')), / * URL que vous souhaitez fournir une location */ ); retour $ chapelure; }

Comment ça va ressembler sur votre page?

Vous devez ajouter la fonction mentionnée ci-dessus dans le contrôleur frontal que vous avez créé. Après avoir ajouté le code ci-dessus dans le contrôleur frontal, le Breadcrumb sera affiché sur la page d'accueil comme ci-dessous:

Bonus Astuce:

Si vous voulez apporter quelques modifications (comme remove) dans le fil d'Ariane, vous pouvez faire la même chose en utilisant le fichier suivant:
/themes/classic/templates/_partials/breadcrumb.tpl


Comment créer une boîte de dialogue d'alerte dans Android?

La boîte de dialogue d'alerte peut être utilisée pour afficher un message dans une boîte de dialogue contextuelle, un champ de texte à saisir ou une vue personnalisée dans la boîte de dialogue.

Pour que la vue soit affichée dans la boîte de dialogue contextuelle, elle doit être créée par programme ou via XML. Ensuite, la vue doit être définie dans la boîte de dialogue afin que cette vue soit visible pour l'utilisateur dans la boîte de dialogue.

Recherchez les étapes ci-dessous pour créer une boîte de dialogue dans laquelle un champ sera créé pour la saisie de l'utilisateur.

1. Créez une vue à afficher dans la boîte de dialogue.

final EditText userInput = new EditText (this);

2. Création et affichage d'une boîte de dialogue.

new AlertDialog.Builder (this) .setTitle ("Le titre de la boîte de dialogue va ici") .setView (userInput) .setPositiveButton ("Submit", nouveau DialogInterface.OnClickListener () {@Override public void onClick (DialogInterface, avec lequel ) {// Gérez votre action ici lorsque vous cliquez sur le bouton "Soumettre"}}. ici lorsque le bouton "Annuler" est cliqué}}) .show ();


How to Create An eBay Sandbox Account?

eBay propose le paramètre bac à sable. Une application qui effectue toutes les actions possibles dans l’environnement de production car il s’agit d’un environnement unique créé uniquement pour les tests. Cela vous permet d’imiter les environnements de test pour les applications créées avec l’API eBay. Le site de test eBay Sandbox vous permet de tester et de comprendre le fonctionnement du site de production eBay en direct à l’aide d’un utilisateur sandbox. Dans le compte eBay Sandbox, vous devez vous connecter avec le compte de l’utilisateur de test sandbox au lieu du compte eBay de production. Les utilisateurs test Sandbox sont des comptes eBay virtuels qui n’existent que dans l’environnement Sandbox. Ainsi, dans cet article, nous verrons la procédure étape par étape pour créer un compte utilisateur de test eBay sandbox : –

Remarque : – Vous devez disposer d’un compte eBay Developer Program avant de pouvoir vous connecter au eBay Developer Program et configurer des comptes d’utilisateurs test.

Recommander Lire : ,warQue sont les sites sandbox sur eBay Marketplace?

Procédure pas à pas pour créer un compte d’utilisateur de test eBay Sandbox

ÉTAPE 1 :- Connectez-vous au programme de développement eBay

  1. Rendez-vous dans la https://developer.ebay.com/signin
  2. Entrez le nom d’utilisateur eBay enregistré ou l’identifiant de messagerie et le mot de passe dans les champs respectifs.
  3. Ensuite, connectez-vous à votre compte de développeur eBay.

Lecture recommandée :�Comment générer un jeton d’utilisateur eBay ?

ÉTAPE 2 :- Allez à l’outil d’inscription eBay Sandbox

Une fois que vous vous êtes connecté avec succès à votre compte de développeur eBay. Suivez les étapes ci-dessous pour accéder à votre Sandbox.

  1. Tout d’abord, allez dans le menu Navigation sous Outils & Exemples -> eBay Sandbox.
  2. Cliquez sur le�Paramètre d’enregistrement d’utilisateur Sandbox.
  3. Après avoir cliqué sur le paramètre d’enregistrement de l’utilisateur Sandbox, leInscription au bac à sable La page apparaîtra comme indiqué ci-dessous.

Recommander Lire : Comment lancer une place de marché comme Etsy et Ebay ?

ÉTAPE 3 :- Créer un compte vendeur/acheteur test eBay

Complétez le�Inscrivez-vous à Sandbox�formulaire, puis cliquez sur le bouton S’inscrire pour créer votre nouveau compte utilisateur de test Sandbox. Vous pouvez créer plusieurs utilisateurs test en fonction de vos besoins. Lorsque vous enregistrez un nouvel utilisateur test, eBay alloue un montant prédéfini de crédit à ce compte utilisateur test. En plus de ce capital initial, eBay alloue automatiquement 5000000 XNUMX XNUMX $ chaque week-end à la capacité de chaque utilisateur test à effectuer de nombreuses transactions semaine après semaine.

Lecture recommandée :��Comment classer plus haut et obtenir vos annonces dans la recherche eBay?

Par défaut, eBay fait précéder le nom d’utilisateur de tous les utilisateurs du test Sandbox d’�UTILISATEUR TESTEUR_. Par exemple, si vous avez créé un compte d’utilisateur de test avec le nom d’utilisateur de David, votre nom d’utilisateur de test eBay Sandbox sera.TESTUSER_David“et vous devez vous connecter au compte sandbox avec ce nom d’utilisateur.”Maintenant, votre utilisateur de test eBay a été créé avec succès.Vous pouvez vous connecter à votre compte Sandbox sur https://sandbox.ebay.com/ avec les détails du compte d’utilisateur de test nouvellement créé.

Lecture recommandée :�4 conseils ultimes pour augmenter les ventes sur eBay

Conclure:

Ces comptes de test sont des comptes eBay fictifs qui n’existent que dans ce paramètre Sandbox. Lorsque vous exécutez votre application pendant la phase de test, ces comptes remplacent les entités utilisateur qui participent aux transactions fictives que vous créez. Pour toute question relative à eBay ou pour plus d’informations sur la Sandbox, n’hésitez pas à nous envoyer un e-mail�à�support@knowband.com.

Découvrez plus d’articles connexes ici:

  1. Comment réviser et remettre en vente sur eBay Marketplace?
  2. Comment répertorier un produit sur eBay Marketplace?

Comment créer votre propre modèle HTML en utilisant jQuery ?

Cet article concerne la création d’un modèle HTML à l’aide de jQuery.

Faisons connaissance avec jQuery

jQuery est une bibliothèque JavaScript rapide, petite et riche en fonctionnalités. Cela simplifie considérablement la navigation et la manipulation de documents HTML, la gestion des événements, l’animation et Ajax avec une API facile à utiliser qui fonctionne sur une multitude de navigateurs. Avec une combinaison de polyvalence et d’extensibilité, jQuery a changé la façon dont des millions de personnes écrivent JavaScript.

Faisons connaissance avec le modèle jQuery

jQuery Template nous donne une option ou un support pour afficher et manipuler le contenu sur le navigateur. En utilisant le modèle jQuery, nous pouvons restituer la chaîne JSON aux éléments HTML. Prenons un exemple simple, nous pouvons utiliser jQuery Template pour afficher un ensemble d’enregistrements que nous avons obtenus à partir d’une requête Ajax.

Un exemple de base de modèles jQuery

Nous créons maintenant une page simple à l’aide de modèles jQuery. Nous n’utiliserons que le plugin jQuery. Dans cet exemple, nous allons vous montrer comment créer un modèle et restituer le contenu à partir du JSON.

Exigence

Comprenons d’abord l’exigence. Supposons que nous devions créer une page Web comme le site Web KnowBand pour vendre les modules de la plate-forme de commerce électronique comme Opencart, Prestashop, etc. Nous avons des modules ou plugins de commerce électronique que nous voulons répertorier sur le site KnowBand. Ainsi, sur la page de liste, nous afficherons le nom, l’image et le prix du module. Nous utiliserons la chaîne JSON ci-dessous pour répertorier les données :

[ { "name": "Product tabs- PrestashopAddons", "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Product-Tabs-logo-1000- x-1000.jpg", "module_url": "https:\/\/www.knowband.com\/prestashop-product-tabs", "price": "$25" }, { "name": "Application mobile Prestashop constructeur", "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Mobile-app-prestashop-plugin-500-X-500.jpg", " module_url": "https:\/\/www.knowband.com\/prestashop-mobile-app-builder", "price": "$30" }, { "name": "Return Manager - Extensions Magento", "image_url " : "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/return-manager.png", "module_url": "https:\/\/www.knowband.com \/magento-return-manager", "price": "$50" }, { "name": "Web Push Notification - PrestashopAddons", "image_url": "https:\/\/www.knowband.com\/image \/data\/Plugin%20Logo\/Web-Push-Notification-plugin.jpg", "module_url": "https:\/\/www.knowband.com\/prestashop-web-push-notifications", "prix ": "$43" } ]

  1. En utilisant la balise de script HTML

    Dans cette méthode, nous écrirons du code HTML dans la balise script. Le code complet est donné ci-dessous :

<html>
    <head>
            <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css&quot;>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js&quot;&gt;&lt;/script>
        </head>
        <body>
            <div class="container">
                <script id="blog" type="template">
                    <div class="col-md-3">
                        <a href="{{module_url}}">
                            <div class="thumbnail">
                                <imgsrc="{{image_url}}" class="img-rounded img-responsive" width="100%"></img>
                                <div class="caption">
                                    <p class="lead">{{price}}</p>
                                    <p>{{name}}</p>
                                </div>
                            </div>
                        </a>
                    </div>
                </script>
            </div>
            <script>
            $(function () {
                varknoband_data = [
                        {
                            "name": "Product tabs- PrestashopAddons",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Product-Tabs-logo-1000-x-1000.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-product-tabs",
                            "price": "$25"
                        },
                        {
                            "name": "Prestashop Mobile App builder",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Mobile-app-prestashop-plugin-500-X-500.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-mobile-app-builder",
                            "price": "$30"
                        },
                        {
                            "name": "Return Manager - Magento Extensions",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/return-manager.png",
                            "module_url": "https:\/\/www.knowband.com\/magento-return-manager",
                            "price": "$50"
                        },
                        {
                            "name": "Web Push Notification - PrestashopAddons",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Web-Push-Notification-plugin.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-web-push-notifications",
                            "price": "$43"
                        }
                    ];
                var temp = $.trim($('#blog').html());
                $.each(knoband_data, function (index, obj) {
                    var x = temp.replace(/{{name}}/ig, obj.name);
                    x = x.replace(/{{image_url}}/ig, obj.image_url);
                    x = x.replace(/{{price}}/ig, obj.price);
                    x = x.replace(/{{module_url}}/ig, obj.module_url);
                    $('.container').append(x);
                });
            });
        </script>
        </body>
    </html>

Nous avons créé une vignette à l’intérieur de la balise de script, c’est-à-dire la balise de script #blog, et elle a été utilisée comme modèle. Dans le code ci-dessus, nous avons utilisé {{ }} pour les variables génériques. Comprenons en fait ce que nous avons fait dans le code ci-dessus :

var temp = $.trim($('#blog').html()); // Il chargera tout le contenu de la balise de script #blog dans une variable temporaire. var x = temp.replace(/{{name}}/ig, obj.name); // Remplacement de la variable générique {{name}} par les données correspondantes du JSON. x = x.replace(/{{image_url}}/ig, obj.image_url); // Remplacement de la variable générique {{image_url}} par les données correspondantes du JSON. x = x.replace(/{{prix}}/ig, obj.prix); // Remplacement de la variable générique {{price}} par les données correspondantes du JSON. x = x.replace(/{{module_url}}/ig, obj.module_url); // Remplacement de la variable générique {{module_url}} par les données correspondantes du JSON. $('.container').append(x); // a ajouté le contenu au conteneur div.
  1. En utilisant la technique Placeholder

Dans cette technique, nous ajouterons le contenu dans le HTML après avoir rempli les données à l’aide de la technique d’espace réservé jQuery. Le code complet est donné ci-dessous :

    
        
        
    
    
        
        
         $(function() {
             varknoband_data = [
                        {
                            "name": "Product tabs- PrestashopAddons",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%3.3.7Logo\/Product-Tabs-logo-3.2.1-x-20.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-product-tabs",
                            "price": "$1000"
                        },
                        {
                            "name": "Prestashop Mobile App builder",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%1000Logo\/Mobile-app-prestashop-plugin-25-X-20.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-mobile-app-builder",
                            "price": "$500"
                        },
                        {
                            "name": "Return Manager - Magento Extensions",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%500Logo\/return-manager.png",
                            "module_url": "https:\/\/www.knowband.com\/magento-return-manager",
                            "price": "$30"
                        },
                        {
                            "name": "Web Push Notification - PrestashopAddons",
                            "image_url": "https:\/\/www.knowband.com\/image\/data\/Plugin%20Logo\/Web-Push-Notification-plugin.jpg",
                            "module_url": "https:\/\/www.knowband.com\/prestashop-web-push-notifications",
                            "price": "$50"
                        }
                    ];
             $.each(knoband_data, function(index, obj) {
                $('.container').append(
                    `
                        
                            
                                
                                
                                    ${obj.price}
                                    ${obj.name}
                                
                            
                        
                    `
                );
            });
         });
        
    

Dans l’exemple ci-dessus, nous avons utilisé ` (back-tick) comme littéral de modèle et ${ } comme espace réservé. Lorsque nous comparons la méthode 1 à la méthode 2, nous pouvons facilement dire que le modèle littéral et l’espace réservé facilitent notre tâche. Dans cet exemple, nous avons écrit le code du modèle dans une boucle et remplacé nos espaces réservés par ses données correspondantes.

Résumé

Pour en savoir plus sur les modèles jQuery, je vous recommande de consulter la documentation des modèles jQuery sur le site Web officiel de jQuery.

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.


How to read the file in PHP language?

L'objectif du blog

Après avoir lu ce blog, vous pourrez lire le fichier en langage PHP. Dans le blog, vous obtiendrez suffisamment d'informations sur les différentes manières utilisées par PHP pour lire un fichier.

Apprenons la méthode de lecture de fichier en PHP

PHP fournit différents types de méthodes pour lire le fichier:

Méthodes Traditionnelles

Dans ce type de méthode pour lire un fichier, nous devons suivre l’étape 3.

  1. Ouvrez le fichier.
  2. Lire le fichier.
  3. Fermez le fichier.

Voyons quelques méthodes traditionnelles:

fopen ():

Pour lire un fichier, nous devons ouvrir un fichier en utilisant

$ file = fopen ("test.txt",

feof ()

Cette méthode vérifie si vous avez déjà lu jusqu'à la fin du fichier. Cela retourne vrai jusqu'à ce que la dernière ligne du fichier soit lue et une fois que nous avons franchi la dernière ligne, elle retourne faux. Nous utilisons cette méthode dans une boucle pour lire un fichier de la première à la dernière ligne.

$ file = fopen ("test.txt",

fclose ()

Nous utilisons cette méthode pour fermer un fichier après l'avoir lu. Après la fermeture d'un fichier, nous ne pourrons plus lire ce fichier.

$ file = fopen ("test.txt",

fgets ()

Nous utilisons cette méthode pour lire un fichier ligne par ligne. Il collecte une seule ligne de données à partir de votre fichier et le renvoie sous forme de chaîne. Et à partir de là, vous pouvez imprimer la ligne ou traiter la même chose selon vos besoins.

<? php $ file = fopen ("test.txt",

fread ()

Nous utilisons cette méthode si nous voulons lire un fichier dans une taille limitée. Nous devons passer une taille limite en octets dans cette méthode, puis cette méthode lit le fichier jusqu’à une taille donnée et ignore la

$ file = fopen ("test.txt",

Remarque : Quel que soit le numéro que vous spécifiez, fread ne lira pas plus de 8,192 octets (8 KB). En supposant que le fichier ne soit pas plus gros que 8 KB, le code ci-dessous devrait lire l'intégralité du fichier dans une chaîne.

<? php $ file = fopen ("test.txt",

fgetss ()

Cette fonction est similaire à la fonction fgets (), mais supprime toutes les balises HTML ou PHP trouvées, ne laissant que du texte brut. Code:

<? php $ file_handle = fopen ("test.txt", "r"); while (! feof ($ file_handle)) {echo fgetss ($ file_handle); } fclose ($ file_handle); ?>

test.txt

<html> <head> <title> </ title> </ head> <body> <div class = "rédacteur-contenu" style = "text-align: left"> <p> Le groupe de connaissances est l’un des principaux noms une entreprise de développement et de marketing de plug-in de commerce électronique. </ p> <p>

Sortie:

Knowband est l’un des leaders en tant que société de développement et de marketing de plug-in de commerce électronique. Notre équipe de professionnels des TI hautement qualifiés et expérimentés.

Autres méthodes

PHP fournit également diverses autres méthodes de traitement de fichiers que nous pouvons utiliser à des fins différentes.

file_get_contents ()

Cette méthode peut être utilisée pour collecter toutes les données d'un fichier sous forme de chaîne. Par exemple, comment pouvons-nous collecter toutes les données de notre page Web? Vous avez vu le

<? php $ file = file_get_contents ("https://www.knowband.com/"); echo $ file; ?>

readfile ()

La fonction readfile vide tout le contenu d'un fichier ou d'une page Web dans le tampon de sortie par défaut. Par défaut, cette commande affiche un message d'erreur en cas d'échec. Pour éviter ce problème, nous utilisons @readfile (). Voyons la différence entre readfile && @readfile. Essayons d'ouvrir un mauvais fichier par readfile:

<? php $ file = readfile ("wrong_test.txt"); if (! $ file) {echo 'Fichier non trouvé.'; } else {echo $ file; }?>

Sortie

(!)?Warning: readfile(wrong_test.txt): failed to open stream: No such file or directory
Pile d'appels

Fichier non trouvé. Remplacez maintenant readfile par @readfile et nous obtiendrons le résultat sous la forme suivante: Fichier non trouvé.

Bonnes pratiques!

Si nous sommes un programmeur, nous devons toujours garder à l'esprit que notre code a la capacité de gérer l'erreur ou la condition. Il se peut que le fichier que nous allons lire ait été déplacé du chemin ou que l'autorisation pour le fichier ait été modifiée. Par conséquent, vous ne pouvez pas obtenir le contenu. Selon la bonne pratique, avant de lire un fichier, nous devons vérifier si le fichier existe et si le fichier dispose d'une autorisation de lecture.

<? php $ file = "test.txt"; if (file_exists ($ file) && is_readable ($ file)) {$ f = fopen ($ file, "r"); # Traitement fclose ($ f); }?>

Résumé

Si vous avez une application de commerce électronique PHP telle que PrestaShop, OpenCart, Magneto, etc., vous pouvez utiliser les codes pour lire le fichier selon vos besoins.