Magento 2 introduced a new and improved way for adding products to the cart. The system now offers complete asynchronous (ajax) process, although the process itself is not activated in default application state. It requires some manual adjustments in the script call inside the templates. Someone would think, ok, we will simply modify the template script calls and that’s it! We successfully improved the process. Unfortunately, not so fast! There is still more room left for improvement. If you’re interested, let’s find out what’s left on the table.Read more
We’re all aware of the fact that Magento handles inventory of products in a (fairly) straightforward fashion. There is only one “warehouse”, one inventory, one “number” in the database that is responsible for a final say – how much of it is in stock. A lot of other functionality is dependent on the fact that stock is global. If we check “Advanced inventory” configuration from the administration of a product, we notice that all of the options are global: Out of stock threshold, Minimum and maximum qty allowed in Shopping Cart, backorders, notifications etc.Read more
In the last few versions of Magento 2 a few shiny new features regarding robots.txt appeared and they bring some interesting issues with them. In this blog post, I’ll attempt to walk you through all of the different cases you can encounter while modifying the Magento 2 robots.txt file.Read more
Many merchants were in a situation where, upon expanding an online business, they needed to provide a localized version of their store, adjusted to local markets and languages. Creating multi-language (localized) store in Magento 2 is very much easy and in every aspect configurable.
The first step in creating a multi-language store is to download and install a language pack for Magento 2. If you need to make an adjustment on a specific language or need to adjust to a specific local situation, then you can easily make all those changes.Read more
Further to our previous post about Magento gallery widget (in which we explained how to build image gallery) we’d like to show another possible use of this widget. Because it’s based on Fotorama plugin, gallery widget is able to work not just with images but with other HTML content as well. And we’ll demonstrate how by building a client testimonials gallery which we’re going to display in the footer of our web shop.Read more
Introduction of Web Speech API to Chrome and Firefox opens up some new possibilities in general interaction with websites and, more importantly, accessibility. Web Speech API includes two main components: Speech Recognition and Voice Synthesis. In this article, we are going to use the Speech Recognition API to implement basic Voice Search in Magento 2 header search.Read more
Everyone has their own style of writing code and there’s always a debate which one’s is the correct one or which one’s makes the most sense. For that reason rules are brought that need to be followed that define code standards and enhance source code readability.Read more
In this series of blog posts we are going to cover Magento jQuery widgets, and the first one we’ll talk about is gallery widget. As you probably know gallery widget is used on product page for displaying product images that we uploaded through Magento admin.Read more
With more and more projects being migrated to Magento 2, and showcased by partners and Magento themselves, what’s the status of Magento 2 adoption within the partner ecosystem?
Is there any way merchants can tell “heaven from hell” when deciding what partner to go with when planning and delivering a Magento 2 project?
Did you know that (only) 72% of Magento solution partners are Magento 2 trained?Read more
When a conference is advertised as “Magento. Software Testing. Party.” and Yireo stands behinds its organization, there is really not much left to say in order to convince you to attend MageTestFest that’s happening November 15th – 18th 2017!
There are no doubts – you must clear your schedule and head off to this international developer oriented event that has one single focus: TESTING! Vital for clean coding, testing is a topic that can always break the unbearable silence among developers that are just meeting each other.Read more
When managing projects, one usually focuses on big things: biggest costs, biggest features, biggest risks, etc. The same is with building an eCommerce site – the biggest, most important things are, well, most important.
But large topics are not the be-all and end-all of the project.
In this post, we will illustrate how tiny issues can have an outsized influence on the project. Through analysis of several examples from our experience, we will try to understand how small perturbations shape the course of the project.
So let’s start with something totally relevant, let’s start with – Napoleon.Read more
This article is sort of a follow up on my previous article on custom form validation, which explains step-by-step what it takes to validate any form. The Magento 2 way, of course.
But what if you have to implement another field that has to be in a particular format or that kind of rule does not even exist? Well… Keep reading, my dear visitor, keep reading.Read more
Whether horizontal (which are more common) or vertical, tabs are a great way to avoid information overload by organizing large content into easily digestible chunks of data. When done right they provide all the information (related to one specific subject) without overwhelming users, allowing them to quickly navigate through the content by showing data from just one tab at a time. From the UX standpoint tabs’ main purpose is to simply facilitate access to information and it’s also useful to know that they don’t have any negative effect on your SEO and site ranking in any way.Read more
The default description, default title, and default keywords input fields in Magneto administration used to create SEO issues for store owners ever since version 1.X of Magento. Magento versions 2.X are no exception to this issue.Read more
Magento2 came with very “controversial” frontend architecture approach. We will not discuss that but we will try to explain how to empower current Magento2 UI library to achieve most common frontend task.Read more
Slick is a great Carousel plugin good for any product list like Most Popular, Featured, Upsell, Cross sell products, or any other custom product list. I will guide you with step by step on how to add Slick Carousel and apply it on product list widget on Homepage.
Lets get started!Read more
Hello, in this article we will cover how to add custom entries in existing system configuration located in Stores->Configuration.
We have already covered how to create Magento2 module, so here we will go straight to the point. Replace Inchoo/Test from entries in this article to your module name.
We’ve had a request to add a new custom layout for CMS pages in one Magento shop.
This can be very useful and can save you a lot of time for different static pages of your shop.
In this example we’ll create a layout named Inchoo Layout.
We should focus on two xml files: layouts.xml and page_layout/inchoo-layout.xml under Magento_Theme folder.Read more
This article will cover the fundamentals of validating any form in Magento 2.
The contact form on Contact us page will be used and modified for the purpose of the article. The form itself can be found in the following paths, depending on the type of installation you are using:Read more
It’s highly unlikely that there are some frontend developers involved in a responsive website development who are not familiar with the concept of CSS Media queries. In this post, I’ll be looking at Magento 2 way of implementing this functionality in its default theme development workflow.Read more
Today is even impossible to imagine a good product detail page without product video/s. In Magento 2, adding videos to the product details page is quite easy. The major problem is in most cases with an initial setup. Most of the product videos already exist online, either on youtube.com or vimeo.com. In the first case, it’s the most popular video publishing platform and for vimeo.com we can say it is more or less dedicated to professionals and photo/video enthusiast.
Google, company behind youtube, set few rules regarding sharing and embedding videos to other domains, in our case our online store. They require to have enabled youtube API key if you want to use embedding youtube videos beyond simple grabbing embed code from youtube videos page.Read more
Layouts play a major roll in Magento. This roll is well known from Magento 1x layout approach. With Magento 2 couple of things are changed and improved. Really, we finally have on our disposal useful layout manipulation options.Read more
One of most important parts of every store is its Search functionality. Implementing a more advanced search solution can have positive and big impact on search function, which leads to significant increase in conversion rate. After all, visitors trust in search results. If your store’s search experience is good, users will use it more than browsing by clicking through categories.
With artificial intelligence and self learning processes, search engines became even more powerful and provide us with features that were not possible before.
Klevu is one of those search engines – it is fast (really fast), it provides high level of customisation and most important – it learns from your customers and self-improves which results in more accurate search results and increase in revenue.Read more
Looking at the old articles on our website that long for a rewrite, I sometimes stumble upon a gem that can be useful. This is a rewrite of the article originally written for Magento 1 – Managing navigation links in the account dashboard
In this article I’ll demonstrate how to manage navigation links in your customer’s account dashboard.Read more
Magento’s layout system has been vastly improved in Magento 2 to be more accessible, more powerful and to be more streamlined. But, for some reason, only a very small subset of layout functions is made available for use in Magento 2 Admin (category layout XML updates, to be more precise). In this article, we’re going to show a very simple way of bypassing this pesky restriction.Read more
The Fastly CDN will sometimes return a 503 error due to various issues that can occur. The generic text associated with a 503 error is “Service Unavailable” and it can mean variety of things. This default error response can be confusing to the customers and have a basic look and feel.Read more
While working on a Magento 2 project for our client, I was supposed to create more/less button, which is not part of neither Blank or Luma themes. The button should be on product page, but only inside of Details tab on desktop (accordion on mobile), which displays product description field in Admin.
Before we get started, I have created a custom theme (Inchoo/MoreLess that is extending Blank theme), make sure to update the correct path for your theme as we go along. The code was written on latest (2.1.6) installation with sample data.Read more
Out of the box, Magento 2 offers fair amount of search engine optimization options but when it comes to category pages, we only have option to add canonical meta tags. In today’s blog post, we will try to spice that up a bit by implementing our own variation of canonical tag and by adding rel=”next” and rel=”prev” tags to help bots with paginated content.Read more