Create new order state and status programmatically in Magento 2

Every order has a status 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 explore how to programmatically create a new order state and status 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 Magento 2 API response

Magento 2 implements the “service contracts” design pattern, which comprises a set of PHP interfaces defined for a module. A service contract encompasses both service and data interfaces. These interfaces conceal the intricacies of business logic from service requestors like controllers, web services, and other modules. By the way, our agency is developing Magento extensions, so if you need help with this, please contact us

Make your 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.

Prepare a retrospective meeting

A retrospective meeting is an important part of the Agile Software Development. It does not matter whether your team uses Scrum, Kanban, Waterfall etc., or has no formalized management framework at all. It also doesn’t matter whether you have a formalized development sprint or not. What really important is to analyze your team’s progress, successes and mistakes, and then develop the team based on that information. The place and time for that is a retrospective meeting. Let’s find out how to prepare an awesome retrospective meeting.

Dynamic fields in 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 previously discussed 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. At times, managing complex data through system configurations is necessary, especially when the number of records to be added isn’t predetermined. In this case it’s impossible to create the exact fieldset in a system configuration tab. Thus, dynamic fields prove to be invaluable.