exclude node of the
etc/view.xml file for a theme. However, sometimes it’s not enough.
Cache context and page variations in Magento 2
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.
Joining external attributes to entity in Magento 2
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.
Create new order state and status programmatically in Magento 2
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.
How to add the details for cart item in Magento 2
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.
Adding custom attribute to API response in Magento 2
Magento 2 implements the service contracts design pattern – a set of PHP interfaces that are defined for a module. A service contract includes service and data interfaces, which hide business logic details from service requestors such as controllers, web services, and other modules.
Magento 2 Certified Solution Specialist. How to be the one?
Magento 2 Certified Solution Specialist is out there for a while and some of you may have already registered and are up to get more familiar with what to expect from the exam. However, some of you might still be wondering if it’s worth spending time on the preparation and test itself.
7 Ways to Make Magento 2 Theme Faster
Magento 2 is known to be a powerful and feature-rich eCommerce platform. It delivers decent page load times but might be quite sluggish under heavy customizations.
Part of the performance problem might be a poorly developed custom theme. On one hand the default Luma and Blank themes are quite fast. On the other hand some of the customized themes are slow and could make your online shop a nightmare to buy from.
Magento Functional Testing Framework Overview
Magento Functional Testing Framework was presented by Tom Erskine during contribution day which followed MageTestFest, which took place in Amerfoort in November last year. Right now it’s under heavy development, there were already 2 releases and it reached version 2.0.3.
Dynamic fields in Magento 2 system configuration
System configuration is a very useful feature of the Magento platform. At the same time, it’s easy to create new configurations for your own custom solutions. We’ve already touched the topic on how to add new system configurations with different fields. Today I would like to describe one more type of fields, which can be used depending on your needs. This is a dynamic field block. Sometimes we need to have some complex data managed via system configurations, or we even don’t know beforehand the number of records to be added. In this case it’s impossible to create the exact fieldset in a system configuration tab. Therefore, dynamic fields will be really useful.