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.
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.
Magento 2 message queue is a great feature introduced in new version of the platform.
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.
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.
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
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.
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.
The Magento Functional Testing Framework was presented by Tom Erskine during the contribution day following MageTestFest, held in Amerfoort in November of the previous year. Currently under heavy development, it has already seen 2 releases and has reached version 2.0.3.
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.
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.