Proper way of installing Magento extensions

One of the biggest benefits of Magento is that its numerous out-of-the-box features can be easily extended with many more modules, created by Magento community. Although some extensions have an almost plug-and-play installation process, it’s much better to do it under control of a professional. We get requests for installing third-party extensions daily, and we accumulated a great experience of how to upgrade your website with new features while keeping it safe and high-performing. While there is no instruction to fit all different cases, here are some things to consider when installing new modules.

Adding an attribute programmatically in Magento 2

Upon creating an extension for Magento, quite often you face with a necessity to create a custom attribute for product, category, customer etc. Of course, you can add a description somewhere in the extension’s documentation how to do it and do not bother you head. However, all Magento versions allow you to create an attribute on the fly during an extension’s installation. There were many topics how to do that in Magento 1.x, and let’s check what is the difference in the next major version of Magento.

In the beginning, Magento was one of the biggest PHP applications. The main purpose of that platform was to cover all needs of store owners being universal and flexible. So, Magento store owners got a big and interesting e-commerce platform and the developers got a big “battlefield” for their implementations. A lot of things have been changed from year to year: servers became more powerful, Magento much faster and the number of platforms, developers and extensions has grown significantly. As a result, every store owner has a wide choice of the solutions that might be implemented for their stores. Unfortunately, very often it’s hard to predict how good is some add-on for a specific Magento installation because of different reasons. You are installing first, tenth, thirtieth extension and then realize: the store is much slower than it was before.

In the previous article we have described how the different settings can be applied to a custom extension. There’s nothing difficult for the simple settings such as text field or text area. But, if you look at the drop down, multiselect or editable items list you’ll notice that these items have additional fields, e.g. source_model, backend_model, frontend_model. Let’s focus on these models and find out more info about creating settings that require data models.

There are many tools in Magento which allow you to view or generate and download different reports. So, we can conclude that Magento system has integrated tools for CSV and XML files generation. It might help in the situation when you need to generate a report for some feed or just export a list of structured data. We would like to demonstrate the small example that adds an ability to generate and download CSV files.
Let’s assume that you have already created your custom extension and wish to add a CSV export functionality. If it’s not the case and you can’t guess how to create an extension, then you can always find the light in our previous articles, for example this one. We called our extension Atwix_Tweaks so in the code examples below we will use this title.

Ability to create pages with custom content is a great feature provided by Magento. You can easily create a new page for your store and add text, html, images, different widgets there. But sometimes people want to have something non-trivial on their pages. Usually it means that you need to operate some knowledge before you’ll get an appropriate result. In this article we would like to suggest you a simple solution on how to place a products list, prefiltered by some specific attribute, on your CMS page. The example below describes how to create a simple extension for this purpose.