Close

     

Our Blog

How to add custom layout handle to category in Magento 2

December 6, 2018 // by Burlacu Vasilii

Disclaimer:

This post assumes the reader is familiar with Magento 2 modules and how they work. If not, it is highly recommended to read the documentation first. All files mentioned below must be placed inside a module.

TL;DR

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)

Joining external attributes to entity in Magento 2

August 30, 2018 // by Dmytro Cheshun

Recently I have written an article on how to include the custom field value to API response in case it is related to the same database table. In addition to the previous blog post, I would like to describe how to add external attributes to a collection, when the attribute values are stored in separate database tables.

Comments (0)

Create new order state and status programmatically in Magento 2

June 29, 2018 // by Dmytro Cheshun

All orders have an order status that is associated with a stage in the order processing workflow.
The state describes the position of an order in the workflow. By default, Magento store has a set of predefined order statuses and order state settings. All the available order statuses can be found in admin panel under Stores -> Settings -> Order Status. Sometimes we need to create a new order status and state. Let’s figure out how to create a new order state and status programmatically in Magento 2.

Comments (0)

Getting started with message queues in Magento 2

June 19, 2018 // by Volodymyr Vygovskyi

Message queue is a great feature introduced in Magento 2.
The goal of this article is to show practical example on how to publish (send) message to the queue and consume (receive and process) it.

Comments (0)

How to add the details for cart item in Magento 2

June 4, 2018 // by Dmytro Cheshun

In this blog post, I would like to share a pretty interesting and not obvious solution on how to join some additional details to cart item block on checkout cart page.

Let’s say we need to add the “Brand” custom product attribute and show its value within a specific block on the product view page and checkout cart page. It’s very simple in the scope of the product page, but how to deal with number cart items on checkout cart page. There are a couple of issues which you may face with. We will cover them further.

Comments (0)