Close

     

Our Blog

How to make a package for Marketplace in Magento 2

February 13, 2019 // by Denis Saltanakhmedov

If you developed some Magento 2 module and you want to publish the module on the Magento Marketplace, you need to prepare a package with the module first.
In the post, we do not describe how to publish the module on the Magento Marketplace only how to prepare the ultimate package version and validate it.

Comments (0)

Magento 2 Event Framework - Diagrams

February 5, 2019 // by Roman Glushko

Magento events and observers are a good old way of extending Magento. They came from Magento 1, but an approach is well-known beyond the Magento community and platform. It follows an observer design pattern and has different implementation and variations in different frameworks. This article covers how Event Framework was implemented in Magento and how it’s suggested to be using by Magento Development Team.

Comments (0)

Add custom layout handle to product page - Magento 2

January 31, 2019 // by Burlacu Vasilii

Ever struggled how to add programmatically a custom layout handle to a product page and what’s the best way to do it? Use the power of Magento 2 plugins (also called interceptors) added into the right place and you’re done!

Comments (0)

Alternatives for deprecated Registry class - Magento 2.3

January 30, 2019 // by Burlacu Vasilii

Starting from Magento 2.3 the Registry class that is (or was) used by a lot of developers and extension vendors is declared to be deprecated. In class comments it’s told to use service classes or data providers, but no examples provided. This article aims to show how you can get needed data using best practices and service classes.

Comments (0)

How to add custom layout handle to category in Magento 2

December 6, 2018 // by Burlacu Vasilii

In order to add a custom layout handle to category page, a (basic) Magento 2 module with these additional files and their content is needed:

1. The events.xml file to “subscribe” to the event and say which observer should be fired
2. An observer that adds a new layout handle to the page
3. A layout file that adds needed changes to the page

Comments (0)

How to disable JavaScript bundling for particular page in Magento 2

November 28, 2018 // by Dmytro Cheshun

JavaScript bundling is an optimization technique you can use to reduce the number of server requests for JavaScript files. It is achieved by merging multiple JavaScript files together into one file to reduce the number of page requests. By default, Magento 2 allows excluding the particular JavaScript files from bundling by specifying the corresponding file in exclude node of the etc/view.xml file for a theme. However, sometimes it’s not enough.

Comments (0)

Create Cart Price Rule and generate Coupon Codes programmatically

November 12, 2018 // by Dmytro Cheshun

Magento provides the Cart Price Rules marketing feature, which allows applying discounts to items in the shopping cart, based on a set of conditions. The discount can be applied automatically as soon as the conditions are met, or when the customer enters a valid coupon code. The coupon codes can be generated per cart price rule via admin panel in Marketing -> Cart Price Rulessection. However, sometimes we need to automate this process. Let’s find out how to create a cart price rule and generate coupon codes programmatically in Magento 2.

Comments (0)

Session depersonalization in Magento 2, why and how?

September 27, 2018 // by Dmytro Cheshun

Most likely, at least once you faced the issue when customer session does not work except an account page etc. And usually, it’s not obvious why. Is it a bug? No, actually that is the case when it’s not a bug, it’s kind of feature.

Comments (0)

Cache context and page variations in Magento 2

September 10, 2018 // by Dmytro Cheshun

The Magento page cache library contains a simple PHP reverse proxy that enables page content caching. There are two types of distinguished content: private and public.

The “private” content is being served for each user separately and represents the personalized data of a customer. E.g. shopping cart, wishlist, customer addresses, notification messages. This data should not be cached on the server side, and should not be shown to more than one user. The private content is stored on the client’s side by Customer Data JS component (Magento_Customer/js/customer-data.js). However, this is a topic for another blog post. Today we will focus on the second content type – public content, or rather the cacheable content and its variations in terms of customer grouping.

Comments (0)

When and why we need to use start/end setup methods?

September 4, 2018 // by Dmytro Cheshun

The startSetup() and endSetup() methods are commonly used for schema and data setup scripts by many developers. But do we actually need to call these methods for every install or upgrade script implementation? The correct answer may be quite unexpected. :) No, we don’t need to use these methods by default in our setup scripts in most cases. Let’s find out why.

Comments (0)