Page 3 - Monthly Archives: 2021
- 1 min read
You can install by Magefan, using composer or archive installation methods.
Installation via composer (recommended)
Please navigate to your Magefan Account > Downloads > Install via Composer to get the composer installation instructions.
Installation using archive and FTP
Download Better Checkout Extension ZIP-Archive from magefan.com website (not GitHub or other sources).
Extract files.
Copy app folder from the archive to your Magento 2 folder.
In a command line, using "cd", navigate to your Magento 2 root directory.
Run CLI commands:
php bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deploy
Note: if you don't want your website to be down during deployment, try these .
- 13 min read
eCommerce is popular as never before. Due to a range of reasons, a lot of merchants choose to start their online stores with Magento, one of the most popular content management systems. Not without a reason.
Magento provides a range of unique features that make it stand out from the others. However, it can’t manage all of it alone. Correspondingly, one of the firsts steps you have to take when starting a Magento 2 store is to choose the best Magento hosting provider.
That is exactly what you’re going to learn about in this article since we’ve gathered not only the best hosting providers for Magento but prepared Magento hosting provider requirements to consider.
Hosting allows you to provide fast and reliable website to web users and ensure a secure storage environment for your website data. Selecting the one that suits your need best is vital.
So, let’s dive in.
What is Magento Hosting?
Magento hosting is a web hosting plan compatible with Magento. Compatible means hosting should complyihor
- 1 min read
Today we have a very special announcement - the first-ever PWA conference is starting soon!
Moreover, our Magefan CEO Ihor Vansach will be among the speakers of this event tackling some hot questions for Magento developers:
How to make your current Magento 2 Extension PWA ready and build a new one for the PWA backend?
You will get a comprehensive guide on getting Magento extensions ready for PWA, that also includes the road map and pitfalls. PWA technology is more trending than it has even been before.
So, you can book a seat at GoPWA Online Conference ‘21 that will take place on September 29-30, 2021 to join our discussion. And it is absolutely free!
- 4 min read
The seamless checkout process is one of the vital components of a successful customer journey. Unfortunately, checkout could also be one of the reasons for cart abandonment and bounce rates.
The longer and more difficult the checkout process is on your store, the more likely customers are going to leave without making a purchase. They are also extra cautious about the personal information they share online. That is why they are not very attracted by the forced registration.
Magento enables you to provide a better experience for your customers and eliminate cart abandonment with a built-in solution — Magento 2 Guest Checkout.
And in this article, we’re going to cover what it is, how it works and analyze all its benefits and drawbacks.
What is Magento 2 Guest Checkout?
Guest checkout in Magento is the process that allows your customers to make a purchase and checkout without registration. If customers want they can register an account after the checkout.
By default guest checkout is enabledihor
- 10 min read
There are multiple tools and methods you can use to provide an outstanding experience for your customers, especially when you sell globally. However, not many of them might be as important as since they influence not only customers' experience but SEO as well.
At the same time, hreflang tags are one of the most confusing factors of international SEO. It is not as easy to implement as it is to make a mistake that can cost you brand visibility, targeting and ranking.
So, before you start implementing these tags, you have to review the most common hreflang mistakes, to know how to prevent or fix them.
In this article, you will review the examples of hreflang tags with errors and learn how to avoid them. Moreover, if you’re in a Magento 2 world, you will find a solution for most hreflang mistakes that allows you to implement hreflang tags in a few clicks.
Shall we start?
1. No Return Hreflang Tags
When you add hreflang tags to your website pages, you have to remember that all of them have toihor
- 4 min read
Hello there, Magento fans!
Are you ready for the final summer updates from Magefan about the new module release, dozens of new features and improvements?
Then let’s go!
New Magento 2 module release!
In addition to all the features included in the extension, there is new splendid functionality you will definitely like. Now auto-search of texts is available for translations in the database.
We have also added an option to search untranslated texts. In our Magento 2 Translation Plus extension, you will enjoy an easy translation of the texts to all your languages within one grid.
Hurry up to try it yourself on our demo!
New feature of Add-on!
Now our famous Magento 2 PWA Blog is compatible with Magento PWA Studio 11, and you can benefit from managing your favorite blog on the PWA storefront even more.
New features of !
For your convenience we have added the better order grid in the "Orders" tab in the customer account edit page. Now you can also see the product images displayedihor
- 1 min read
Solved: Package exists in composer repo 1 and composer repo 2 which has a higher repository priority
When you install some new extension package in Magento 2 via the composer you can get an error:
[InvalidArgumentException] Package vendor/module-name exists in composer repo (https://repo.packagist.org) and composer repo (https://repo.magento.com) which has a higher repository priority. The packages with higher priority do not match your constraint and are therefore not installable. See https://getcomposer.org/repoprio for details and assistance.
This error message is self-explaining and contains a link to the composer documentation.
The problem is that a module you try to install has an old version in the Magento composer repository and a new version in the free public packagist.org repository. However, the Magento repository has a higher priority and that is why composer cannot install the latest version and throws this error.
What you need to do to solve the issue is to:
1. Open composer.json file in your Magento 2 root directory.
2. Find the "repositories" section.
3. Replace the followingihor
- 1 min read
Magento displays floating prices when you for different countries or set up discounts. In both cases, prices are displayed with decimals which is not very appealing.
So, to make prices more "clean" and provide a better shopping experience you should round off prices in Magento 2.
Usually, you'll have to do this programmatically, but not with the . Except for switching currency automatically based on customers' geolocation, this tool provides multiple rounding algorithms.
However, before we configure this option, don't forget to .
To round off prices in Magento 2:
Go to Stores > Configuration > Magefan Extensions > Auto Currency Switcher.
Enable the Round Prices options and Round Base Currency Prices if you like.
Select the Round Algorithm.
You can choose any from the available algorithms:
Round (16.3 -> 16.00, 16.5 -> 17.00)Ceil (16.3 -> 17.00, 16.5 -> 17.00)Round 10 (14.3 -> 8.00, 17.5 -> 20.00)Ceil 10 (14.3 -> 17.00, 17.5 -> 20.00)Round .99 (16.3 -> 15.99, 16.5 -> 16.99)Ceil .99 (16.3ihor
- 1 min read
If you decided to remove , please follow the steps below. You can contact our team for a free consultation in case you have any issues with Magefan's extension.
Remove Extension Files
Removing files instruction depends on the way Facebook Pixel extension has been installed in.
1. If you can find the extension files in the folder
app/code/Magefan/FacebookPixelapp/code/Magefan/FacebookPixelPlusapp/code/Magefan/FacebookPixelExtra
then remove this folder.
2. If the extension was installed via the composer and its files located in the folder
vendor/magefan/module-facebook-pixel
then run composer CLI command to remove it
composer remove magefan/module-facebook-pixel*
Once extension files have been removed, run these Magento CLI commands:
php bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deploy
Note: if you don't want your website to be down during deployment, try these .
Remove Extension Data (optional)
Attention! This will clean all Facebookihor
- 1 min read
If you need to update by Magefan, please follow the steps below.
Note: the updating instructions depend on the method the Facebook Pixel extension was installed with.
Update using composer
If the Facebook Pixel module was installed via the composer (check if vendor/magefan/module-facebook-pixel folder exists), then you need to run these simple CLI commands in Magento 2 directory:
composer remove magefan/module-NAMEcomposer require magefan/module-NAME ^x.x.x# replace NAME with:# facebook-pixel - for Basic plan# facebook-pixel-plus - for Plus plan# facebook-pixel-extra - for Extra plan# replace x.x.x with the version you want to usephp bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deploy
If you want to upgrade to Plus or Extra, check this guide on how to .
Update using archive and FTP
If the Facebook Pixel module was installed via FTP (check if app/code/Magefan/FacebookPixel folder exists), then follow these commands:
1. Download the latestihor
- 1 min read
You can install by Magefan, using composer or archive installation methods.
Note: if you want to install the please navigate to your Magefan Account > Downloads > Install via Composer to get the composer installation instructions.
Installation via composer (recommended)
Open command line.
Using command "cd" navigate to your Magento 2 root directory.
Run CLI commands:
composer require magefan/module-facebook-pixel# Authentication required (repo.magento.com)# Get your Magento Marketplace authentication keys or use these: # Username: 7c018006799466c681ad507e27904677# Password: 289077c86e811661a8f7751828485d3aphp bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deploy
Note: if you don't want your website to be down during deployment, try these .
Installation using archive or FTP
Download Facebook Pixel Extension ZIP-Archive from magefan.com website (not GitHub or other sources).
Extract files.
Copy app and lib folders from the archiveihor
- 4 min read
Hello there, Magento fans!
We haven’t been here for quite a while. So now we prepared a lot of News and Updates for you this hot July, 2021. We really hope you will enjoy all the new features of the latest Magento 2 extensions we have released.
Let’s go!
NEW features of !
Now you can export blog posts to CSV and also enjoy improved CSV import features of Blog Extra. Create new experiences for your customers with 3 new templates for the blog post lists:
block-2-1-shortcontent
block-2-2-shortcontent
block-2-3-shortcontent
Among other features included you will find very useful import from Drupal and updated YouTube widget (Blog Extra).
We have also added the blog GraphQL v2.1.2 with multi-store support and made some code and CSS stylesheet improvements.
The issue with the featured widget that used a sidebar featured posts block template is fixed now, as well as the issue with blog posts lazy loading of new blog templates. We have also fixed CSS conflict with "fa" fonts.
NEWihor
- 13 min read
Getting your website ranked on Google is one of the most daunting tasks many websites struggle with, especially in eCommerce. Moreover, SEO is a complex concept that constantly changes and evolves. So, it may be hard to keep up with upcoming updates and algorithms.
However, there are some essential factors you, as a store owner, should pay attention to: website speed, image optimization, content. The list can go on and on.
The concept we want to get you familiar with today is hreflang tags, hreflang attributes or alternate hreflang tags. You will learn what hreflang tags are, why you need them, how they influence your website and, most importantly, how to add them to your Magento 2 website to get ranked.
Without any further ado, let’s start.
What are Hreflang Tags?
Hreflang Tags, also referred to as rel="alternate" hreflang="x", are the snippets of HTML code added to your website pages to let Google and other search engines know that you have different alternatives of the same page.
Alternateihor
- 1 min read
Same as other Git repositories, like or , Bitbucket allows you to create webhooks for simplified application management. Bitbucket allows you to create up to 50 webhooks for different actions to make code push easier.
So, let's check these triggers and learn how to add Bitbucket webhooks.
To create webhooks in Bitbucket:
1. Navigate to your Bitbucket account and choose the repository you want to create a Bitbucket webhook for.
2. Go to the Repository Settings.
3. Find the Webhooks tab and press the Add Webhook button.
4. Set the webhook Title and enter the URL where the webhook requests will be sent to.
5. Check the Active option if you want the webhook to be active after you save it.
6. Check the Skip certificate verification option if you use self-signed certification and don't need to verify it.
7. Select the Triggers Bitbucket webhooks to be triggered by.
Once you finished setting up Bitbucket webhooks, don't forget to Save it. Besides, to have more control over the access toihor
- 2 min read
When you configure Github webhooks, you open a lot of opportunities and make the development process easier. They are used to update backup mirror or external issue tracker, trigger CL builds and deploy changes to the production server.
Once you install the webhook, it will be triggered by a specific event like pull request or code push. Generally, webhooks allow you to automate a lot of processes, so you don't have to manually apply changes to the live.
So, in this article, you will learn how to add webhook in Github.
Let's start.
To add webhook in Github:
1. Navigate to your Github account.
2. Choose the repository which you want to configure the webhooks for and go to the Settings.
3. Go to the Webhooks tab and press the Add webhook button.
4. Set the Payload URL, Content type and Secret to set up webhook in Github.
Payload URL — server URL where the webhook requests will be sent.
Content type — the type of delivering webhook requests to the payload URL
Secret — "password" used toihor
- 1 min read
Webhooks simplify a lot of processes on your application. They automate the pull requests, merging, pushing and others. You can create an event that would trigger the webhook request which will do the work for you.
In this article, you're going to learn about Gitlab.
Take the following steps to add webhooks in Gitlab:
1. Go to your GitLab account.
2. Navigate to a repository you want to add webhooks for and find the Settings section.
3. Click on the Webhooks tab.
4. Enter the URL you want POST requests to be sent to.
5. Set the Secret Token, so the URL you send the requests to can verify they are from GitLab.
6. Select the Trigger Events under which the webhooks should be sent.
Note: if you choose Push events you also have to specify the branch or wildcard pattern to trigger on. If you want all pushes to trigger the URL, just leave this field blank.
Once you select all events you want to trigger the webhooks in GitLab, press the Add webhook button.
That's it. It is reallyihor
- 2 min read
Magento 2 Object Manager is a PHP class responsible for creating and retrieving objects in Magento 2. It also manages to create factories and proxies.
How does it work?
To get the object manager instance (e.g. get magento 2 object manager in phtml) use the code:
<?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
To add object Manager to constructor:
/
* @var \Magento\Framework\ObjectManagerInterface
*/
private $objectManager;
/
* @param \Magento\Framework\ObjectManagerInterface $objectmanager
*/
public function __construct(
\Magento\Framework\ObjectManagerInterface $objectmanager
) {
$this->objectManager = $objectmanager;
}
Using the ObjectManager you can get a singleton object (method "get") of PHP class or create a new one (method "create").
Example:
<?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); /* Create a new product object */ $product = $objectManager->create(\Magento\Catalog\Model\Product::class); /* Get a request objectihor
- 2 min read
Sometimes when you update Magento, it could change the required state parameters and set some obligatory states for several countries in Stores > Configuration > General. Moreover, this option can be updated by your colleagues or you.
Managing a Magento 2 store, you have some clients who already set shipping and billing addresses while making a purchase. The addresses you have on your store already include countries, but not states (regions). Besides, sometimes region is set as a text field (not a select box).
Once you update the Magento, it changes the required states, or you set them to be required for a range of countries yourself.
The states will be required even if your customer already have their addresses set with the country options.
Are there any drawbacks?
When these customers want to make a purchase again, they have difficulties checking out. They see the message about their address not being valid and have to go to their account to checkout from there. You can also get someihor
- 2 min read
You work with eCommerce and Magento in particular, so you probably know how important it is to keep track of important changes in your store. One of the most important changes and updates you have every day are and new customers.
In any case, it is important to catch the moment and reach out to them with a follow-up, update or special offer.
In this article, you will learn how to send an email to the admin after customer registration, so you are aware when there is a new customer registered.
Magento allows you to send the customer registration email to customers, but not admins. However, you can use the for this. It provides you a very convenient configuration.
To enable customer registration notification for admins:
1. Go to Stores > Configuration > Magefan Extensions > Admin Notifications > Admin Email Notifications and find the Customer Registration Notification section.
2. Enable the notifications.
3. Choose the Email Sender who will appear as a sender of the emails about customer registrationihor
- 2 min read
Magento 2 Contact Us page is one of the most important pages on your website. When customers want to ask a question, complain, or request some information from you they start looking for the contacts form. So, you better have one with all the important .
Thus Magento 2 contact form is a bridge that unites you with your customers, prospects, and partners. And you have to make sure it is accessible from every page of your website. In this article, you will learn how to configure and customize the Magento Contact Us page.
Enable Magento 2 Contact Us Page
Except for the store email addresses, Magento allows you to configure the Contact Us page. This is a default CMS page already created in Magento which contains the contact email address, contact us form, and some additional information you can add.
To configure Contact Us page:
Got to Stores > Configuration > General > Contacts.
Enable the Contact Us Page.
Set the email address to Sent Emails To.
Choose the Email Sender that would be associatedihor
- 1 min read
Creating configurable products you just` create simple products with some configurable options for customers to choose from. So, to create a configurable product programmatically you should start by creating a simple product and then assigning some features to it.
Follow these steps to create a configurable product in Magento 2 programmatically:
1. Create a simple product.
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();$product = $objectManager->create('Magento\Catalog\Model\Product');$sku = 'sku';$product->setSku($sku);$product->setName('Simple Product'); $product->setAttributeSetId(4); $product->setStatus(1); $product->setWeight(1);$product->setVisibility(4); $product->setWebsiteIds(array(1)); $product->setTaxClassId(0); $product->setTypeId('simple'); $product->setPrice(100);$product->setStockData(array('use_config_manage_stock' => 0, 'manage_stock' => 1, 'min_sale_qty' => 1, 'max_sale_qty' => 2, 'is_in_stock' => 1,'qty' => 1000));$product->save();$categoryIdsihor
