What is Magento?
Magento is the most powerful online e-commerce platform in the universe. It is built on open source technology which provides online merchants with a flexible shopping cart system, as well as control over the look, content and functionality of their online store. Magento offers powerful marketing, search engine optimization, and catalog-management tools. We believe that Magento is one of the best ecommerce platforms available today, with editions ranging from community open source, to massive, large-scale enterprise SaaS based systems.
Why do many businesses choose magento?
- Magento is Open Source: They are 2 available versions of Magento which are Magento Enterprise and the Magento Community Edition features.
- It is best option for small and large Businesses.
- Extensions, Modules & Plugins
- Easily to control and manage your online store. Flexible to meet your unique needs.
- Scalable to grow with your business.
- Thousands of Magento extensions to meet your requirements.
- Magento 2, the latest release, enables B2B and B2C companies to quickly deliver an Omni channel experience.
Can you explain the technology that is used by Magento?
Magento provides a set of robust tools for deploying large stores, and to customize the product for your particular needs. The technologies involved are popular and open source, like Linux operating system, and the following technologies:
- PHP 5.5 and PHP 5.6
- HTML5
- CSS3 (Less CSS pre-processor)
- JQuery;
- MySQL 5.6
- RequireJS (library that helps with JavaScript resources to load on demand)
- Zend Framework 1, Zend Framework and Symfony 2
- Apache 2.2, 2.4
- Nginx 1.7
- Composer (dependency management package for PHP)
It also has optional stack components:
- Varnish (caching)
- Pens (used for session or page cache)
- Solr (search engine)
What’s the difference between Magento Community and Magento Enterprise editions?
Magento Community: Magento Community edition is a free, open-source e-commerce platform that anyone can download and use to build an online store. It is perfect for small businesses that want to experiment and learn how to build an e-commerce site.
- Pricing rules
- Reporting functionality
- Layered Navigation
- Variety of payment gateways
- Product Configuration
- In store advertising
- Mobile version of the store
- Multiple stores / store views and SEO
- Customer account and order management
Magento Enterprise: Magento Enterprise edition is the premium paid version of Magento. It is designed for those that believe the Community edition is not enough. It is mostly used by bigger online stores that need advanced features and more customizable options
- Magento team support
- Optimized to handle large amount of products
- Full Page Cache
- Comprehensive backup
- Improved tax calculation
- Customer Attributes and segmentation
- Gift wrap
- Loyalty program
- Store credit and gift cards
- Solr search and RMA
- Abandoned cart follow ups
- Automatic cross sell, up sell and related product assignment
What are the design patterns in Magento?
Magento Design Patterns are:
- Prototype Pattern: It is used as an extension of the Abstract Factory pattern.
- Factory Pattern: It is used to instantiate classes in Magento.
- MVC Pattern: Magento utilizes a unique MVC pattern, utilizing a DOM based configuration layer.
- Front Controller Pattern: Magento uses the Front Controller pattern to implement workflows for its application.
- Singleton Pattern: Much like factory class abstraction and class groups in Magento, the Singleton pattern is instantiated for Blocks and Classes just the same.
- Registry Pattern: It is basically a pattern that allows any object or data to be available in a public global scope for any resource to use.
- Object Pool Pattern: I t is keeps objects ready for use over and over again instead of re-instantiating them and destroying them once finished.
- Iterator Pattern: It is a design pattern that allows an object traverse through the elements of another class.
- Lazy Loading Pattern: It is a design pattern that delays the loading of an object until the time that the object is called upon.
- Service Locator Pattern: It is a design pattern that allows a user to get a service by encapsulating the process inside an abstraction layer
- Module Pattern: It is a form of modular programming that emphasizes the grouping of functionality of a program into independent, interchangeable modules.
- Observer Pattern: It is where an event listener is set at a certain point during an application’s execution.
Explain how can you improve the performance of Magento?
There are a number of things that you can do to enhance and improve Magento performance.
Doing all of the following can improve Magento performance.
- Ensure you are running the latest version of Magento.
- Implementing a Content Delivery Network (CDN) with Magento is one of the easiest ways to instantly see decreased load times.
- Disabling any modules that are not being used
- Disabling the Magento log
- MySQL Query Caching
- Enabling Gzip Compression
- Enabling Magento Caching :The Magento caching helps to increase the performance of an average Magento store, navigate to the System > Cache Management, select all the items, set “Enable” from the Action dropdown and then hit “Submit” button.
- Compress your image files
- Combining the external CSS/JS into a single file
- All of these things can speed up Magento and make it work better. This can be very helpful for both the ecommerce company, and for the customers of the company.
What are the Features of Magento?
Features of Magento
- Open and flexible architecture
- Catalog Management and Browsing
- Backup/Rollback system
- Upgrading core files and its modules
- Customer service and Payment
- SEO and Marketing Promotions and Tools
- Scalability and Testing Framework
- Tracking, Analytics, and Reporting
What are the different versions of Magento?
Magento categorizes their product across multiple offerings:
- Magento e-commerce
- Magento. go
- Magento Order Management
- Magento Business Intelligence
- Magento Shipping
- Magento Social
- Magento Open Source
- Magento Enterprise
What is the difference between EAV and flat model?
EAV (Entity Attribute Value) database model is fully in normalized form. Each column’s value is stored in their respective data type table which makes it more complex as they have to join 5-6 tables even if you need only one detail. In EAV, columns are called attributes.
Flat model uses just one table. It is not normalized and uses more database space. It is not good for dynamic requirements where you may have to add some more columns in future. Its performance is fast as it needs only one query instead of joining 5-6 tables. In flat model, columns are called fields.
What are the new features of Magento 2?
These were some of its basic features.
- Magento UI Library
- New File Structure in Magento 2
- New Layout Elements
- CSS Preprocessing
- Under the hood
- Improved performance and scalability
- No more prototypes
- Reducing upgrade efforts and costs
How do you add a blog to Magento?
In Magento, Blogs are very important for helping to increase the search engine rankings for an ecommerce site. To add a blog to Magento, you have two options, you can use a prebuilt Magento blog extension, or you can create a custom blog module. If you are going to set up a free pre-built blog extension, then you will need to first download the extension. You can get them from Ahead works. Next, you need to install the blog extension. After that, you need to configure it. If you are going to build a custom blog, then you will have to create a module for it.
Explain what are Magento product types?
Magento simple product: It is used for a single item without any specific selectable variations. For example, a pen, copy, etc.
Magento grouped product: It is used for a combination of Magento simple product. For example, a pen and copy together.
Magento downloadable product: It is used for online software items. For example, PowerPoint presentation, MP3 files, servers, etc.
Magento virtual product: It is used for a virtual item i.e: non-touchable item. For example, reservation, insurance, etc.
Magento configurable product: It is used for a single item with specific selectable variations. For example, a pen with different color options.
Magento bundle product: It is used for a bundle of simple products. For example, laptop with various items such as processor, hard disk, RAM, etc.
What is the benefit of applying connect patches in magento?
- It enables easy installation of packages with installation; it overwrites any existing translations for the same time
- For enhancing security, by default Magento Connect uses HTTP to download extensions instead of FTP
- With a dash character in the name, extension developers can now create extensions
- Magento administrators will be informed now who tries to install an extension with insufficient file system privileges
What is the difference between Mage::getModel () and Mage::getSingletone () in Magento?
- Mage::getModel (): It always creates a new object
- Mage: getSingleton (): It always look for an existing object and if not then creates a new object
How to create magento custom module?
Steps to create custom magento module:
- Namespace: bag
- Module Name: Mymodule
- Create directory Mymodule in app/code/local/bag
- Create Block, controllers, etc., Module directories. Create controller, block and module file as required.
- Create module configuration file (app/code/local/bag/Mymodule/etc/config.xml).
- Create xml file (app/etc/modules/bag_ Mymodule.xml) to enable/disable module and tell magento system from which code pool that module will be taken.
Explain how many database tables will Magento create when you make a new EAV module?
Magento creates 6 tables when you create new EAV module. Tables: module, module_datetime, module _decimal, module_int, module_text and module_varchar. One is the main entity table, and rest 5 tables which holds attribute’s data in different data types. So that integer values will go to module_int table, price values to module_decimal, etc.
What all billing information can be managed through Magento?
From the client Magento account, you can do following things
- Update your billing address
- Add a credit card
- Add a PayPal account
- View your billing history
- Produce a print ready receipt
What is code pool?
Code Pool is a tag which you have to specify when registering a new module in app/etc/modules/MERG_Module.xml
In Magento, three types of code Pool.
All are resided at app/code/ directory.
Core codePool, generally used by Magento core team. Community used by third party extensions. And local codePlool should be used for in-hour module development and overriding of core and community modules for custom requirement. So, codePool, used in Magento for locate module in app/code/ for processing data code.
How magento can be made more secure for the client?
- Using a strong password and changing them at regular interval
- Restrict access to safe IP addresses
- Disable remote access to Magento Connect Manager
- Disable Downloader on production sites
What are the commonly used block types? What is the special in core/text_list block type?
Commonly used block types:
- core/template, page/html
- core/messages, page/switch
- page/html_head, page/html_header
- page/template_links, core/text_list
- Page/html_wrapper, page/html_breadcrumbs
- page/html_footer
Some blocks like content, left, right etc. are of type core/text_list. When these blocks are rendered, all their child blocks are rendered automatically without the need to call getChildHtml () method.
What are the magic methods in Magento?
Magento uses this magic methods __call (), __get (), __set (), __uns (), __has (), __isset (), __toString (), __construct (), etc.
Explain How to change theme for login users?
To change theme for login users
See below:
if(Mage::getSingleton(‘customer/session’)->isLoggedIn()):
Mage::getDesign()->setPackageName(‘package_name’)->setTheme(‘themename’);
endif;
What is Google checkout in Magento?
Magento allows the integration of online stores with Google checkout. Google checkout is the online payments service provided by the Google. It works like PayPal.
What are the limitations of Magento?
There are three reasons to use UNITS in programming:
Magento is written in PHP so it is comparatively slower in performance to other e-Commerce solutions.
Magento requires more space and memory. It can consume gigabytes of RAM during heavy processes.
It becomes complex if it is not using object-oriented programming.