Latest Articles

[Magento 2] Delete All Categories Programmatically

There are a lot of articles on Internet proposing the deletion of all categories using a sql query. I’ve tested one of them and I’ve run into several problems due to this (url keys not deleted correctly, deletion of the Default category…). There is a safer way, using Magento tools. Things you need to know: […]

[Magento 2] Adding product attributes to quote items getProduct function

When calling the function $block->getProduct() in a quote item in the cart page, Magento 2 will return the product and its basic attributes. The attributes that can be retrieved from the product when calling this function in a quote_item page can be found in the file vendor/magento/module-sales/etc/catalog_attributes.xml. From your own module, you can create the […]

[Magento 2] Update product attribute programmatically

It’s pretty easy when you have the eavSetup in your setup module. It’s only necessary to execute: For example, if I want to change the ‘position’ field value of the ‘price’ product attribute:

[Magento 2] Create Multiselect Product Attribute Programmatically

It might be tricky if you want to create a multiselect product attribute in Magento 2. For that, it’s necessary to pass the correct backend model: if you don’t do it your attribute will be created but the values won’t be saved. Taking this Inchoo article as a basis, you just need to know the […]

[Magento 2] Display category image in navigation menu

[Edited] I’ve updated the article to do this in a better way Recently I had to do something I thought it was simple to do: add the category images to the navigation menu. However, Magento doesn’t use a template to draw the whole menu but a function that will retrieve all categories and generate the […]

[Magento 2] Get current product

Getting the “current product” in Magento 2 is trickier than it was in Magento 1. However, it is like that for a reason: Mage:: is a thing from the past, no more accessing to everything from everywhere (someone I know would say: “this is not logic at all”). That’s the reason why, in order to […]

[Forms] Remove a field from a Form

Recently I wanted to remove a field from a form object. It was easy, we need to know 2 things: Fieldset name (‘main’ by default) Field name With this information we can just update the form object with:     <?php $this->getForm()->removeField(‘password_fieldset’); ?>

Filter a collection when the attribute value is not set

Since the very first time I started working with collections in Magento I run into situations where I needed to filter a collection by an attribute whose value is not set yet (for example, when the attribute is of the type ‘yes/no’, values 0/1). If I wanted to filter by all the products with a […]

List All Magento cronjobs (from local, community and core)

I have recently run into this Magento script who lists all the cronjobs on the site (coming from core, community or local). Easy to use and with a good result view!

Some thoughts about Magento 2

During the past 5 years I have been working on eCommerce and always with Magento. Magento “1”. Magento 1 has become the natural option to recommend to anyone who wants to implement a secure, complete, extensible ecommerce site. I have learned a lot while developing on Magento, but also when discussing functional specifications with our […]