📜 ⬆️ ⬇️

Why Magento?


Magento eCommerce platform is steadily gaining popularity. On habrahabr there were already a few mentions of her . In this article I want to describe some moments when you should choose the Magento platform.





')

Hosting


Magento Commerce will not work on a simple shared hosting. The developers recommend installing 256MB of RAM available to the script. The minimum desirable size is 64 MB, but be prepared that without the cache turned on, most of the pages will not load.
Also pay attention to cpu hosting limit. In my practice, there were cases when the site was disconnected due to the load on the processor more than 3%. In this case, no more than 15-25 people visited the site per day.
Hosting that can pull out a simple store on Magento, with an attendance of 20-50 people per day, costs about $ 70 / year. Specialized hosting plans for Magento cost around $ 20 / month. A shop at such a tariff works quite fast, without problems pulling attendance of about 300 people / day.

For example, I will give the results of the simplest load testing of some hosting sites with which I worked.

hostmonster.com cost about $ 70 / year (25 users, 30 minutes)




nic.ru tariff 201 - ~ 110 $ / year (50 users, 30 minutes)





1gb.ru , tariff VZ-1 ~ 130 $ / year (50 users, 30 minutes)





ngx.nl ~ $ 300 / year (25 users, 30 minutes)




Market sales


Magento is being developed by the Ukrainian development team, but payment and delivery methods are calculated on the western market (Europe, USA, etc.). The boxed version includes the following payment methods: payment via Credit Card, PayPal, Authorize.net, Payflow Pro, payment by check, bank transfer. Except then integration with most western payment systems is available in the form of free extensions.
If you need WebMoney support, you will have to buy a paid extension (there are no free analogues). I didn’t find any extensions for Yandex.

For Russian stores, there is a real opportunity to use only payment methods: “Cash upon receipt”, “Bank transfer”. But for this, you will have to additionally explain to each client how to make a payment and periodically check the receipt of money on the account.



The following shipping methods are available by default: Table rates, Flat Rate, Free shipping, UPS, USPS, FedEx, DHL. With this issue, the situation is slightly better, in addition, you can install free extensions - “Local Pickup”, “Multiple tables rate” - which in most cases cover the requirements of the store. For example, using the “Multiple tables rate” you can give the user the opportunity to select the desired delivery method and region. Depending on the choice of form value. For example, create the following table:



It should also be noted the lack of integration with 1C, which for some customers is quite a necessary factor. In defense, we can say that Magento does not support (in the boxed version), not one such integration - there is an import / export of csv files with a list of categories and products.

Localization


As in the previous paragraph, the Russian translation leaves much to be desired. The localization package will need to be downloaded from the official website, this package is in beta, the completion process is about 90%. True, in the depths of the forum you can find custom localization, the situation is a little better. But in any case, it is necessary to additionally replace a number of messages. Also, the user will have to change all html templates for standard letters. There are about 35 such letters.

Built-in functionality


One of the strengths of Magento is the extensive built-in functionality - what you get after installing the store. By installing the store you will receive the following features:

A complete list of features can be viewed on wikipedia.



At the same time, it is a disadvantage. If part of the functionality on the frontend is not needed, the developer will have to try to turn it off (more on this below)

Development


Magento is a fairly complex system based on the Zend Framework. To work with dynamic content, the Prototype framework is used, and not familiar to most jQuery (to connect which will have to be a good idea). Also, Magento does not use the classic MVC pattern. To generate pages, a set of the following elements is used: Controller, Model, Block, View. Thus, you will not be able to load the template page directly from the controller. In addition to standard phtml files with templates, xml files are used to generate pages that determine which blocks are included in the current page.
Proceeding from the above, if you need to make a unique template for a store, based on the psd file developed by the designer, you will need to involve a programmer in addition to the layout designer. Be prepared to pay a serious amount to the developer for design binding.
For example, when I just started to get acquainted with Magento, I was faced with the task of tying up a rather complicated design. In total, it took me about three weeks to create a theme (without additional extensions). Now a complex topic can be tied for 1-2 weeks. A simple topic around three days. True, there were precedents that the simple design of the simple theme was attached in one day. Of course there is a simpler option to buy a ready-made theme at http://www.templatemonster.com/ .
Consider a simple example. We need to disable the display of the “Compare Products” block. To remove this block you will have to make a change in approximately 5 different xml files. At the same time, magento allows you to enable debugging information - displaying the path to the templates for each block, but unfortunately does not show in which xml file you can disable it.



But, at the same time, using only a modification of templates, you can implement a store with the unique required functionality.
Magento has a very high degree of extensibility. In fact, any store opportunity can be overridden, replaced by developer files. And attention, for this you do not need to rewrite the source code of the engine! For any model block, you can create a "rewrite" and replace it with your own. For controllers, you can activate query path redirection. In addition, using event observer for most key actions, you can add arbitrary functionality. Using third-party code that does not affect the core files allows for a painless upgrade to new versions of magento.

Summarizing the item development - when creating additional extensions for Magento, for design binding, be prepared to allocate a serious amount. Developers familiar with this system, is still not very much. And those who work with it have a lot of orders and a serious cost per hour of work.



Usability


According to reviews of some clients, magento has a very user-friendly interface of the administrative part. I agree with their opinion. Indeed, the magento backend is excellent. Spending a little time, the user will be able to perform basic actions without looking at help. At the same time, some moments can be quite opaque. For example, managing taxes, creating mailings, managing localization, several currencies, various types of stores. Magento's functionality allows you to manage stores with different domain names using a common backend. At the same time, users may not even know that these stores are connected.


With the frontend part of the standard store, all is not well. According to most reviews, part of the checkout is difficult for the user (you have to go through 5 steps).


There is a way out, to buy a ready-made extension which will request the ordering. In addition, due to the extensive functionality, users may not achieve their goals. But, as I said above, you can disable all unnecessary functionality and leave only part of the store directly.

Source: https://habr.com/ru/post/91233/


All Articles