- Magento Architecture & Customization Techniques 33%
- Request Flow Processing 7%
- Customizing the Magento UI 15%
- Working with Databases in Magento 18%
- Developing with Adminhtml 11%
- Customizing Magento Business Logic 16%
-
Describe module architecture. Step 2A.1 Notes, amasty, magento-notes
-
What are the significant steps to add a new module? Step 2A.2-3 mageplaza, magestore
-
What are the different Composer package types? Step 2A.3, amasty
-
When would you place a module in the app/code folder versus another location? Step 2A.3
-
Describe the Magento directory structure. devdocs, mageplaza, amasty
-
What are the naming conventions, and how are namespaces established? devdocs1 devdocs2 devdocs3
-
How can you identify the files responsible for some functionality? Step 2A.1
-
Determine how to use configuration files in Magento. Step 2B.5
-
Which configuration files are important in the development cycle?amastyBlog, belvg
-
Describe development in the context of website and store scopes. magestore , mage2-blog
-
How do you identify the configuration scope for a given variable? docs.magento
-
How do native Magento scopes (for example, price or inventory) affect development and decision-making processes? magestandard , bsscommerceBlog
-
Demonstrate an ability to add different values for different scopes. Step 2B.1
-
How can you fetch a system configuration value programmatically?Step 2B.5
-
How can you override system configuration values for a given store using XML configuration? stackexchange, webkulBlog
-
Demonstrate the ability to use the dependency injection concept in Magento development. DIconfiguration, amastyBlog
-
How are objects realized in code? amastyBlog
-
Why is it important to have a centralized object creation process? amasty
-
Identify how to use DI configuration files for customizing Magento. amasty
-
How can you override a native class, inject your class into another object, and use other techniques available in di.xml (for example, virtualTypes)? yireo, mageplaza
-
Given a scenario, determine how to obtain an object using the ObjectManager object. mageplaza , michiel
-
How would you obtain a class instance from different places in the code? atwix
-
Demonstrate an understanding of plugins. DI Plugins
-
How are plugins used in core code? mageplaza, magecomp yireo
-
How can they be used for customizations? eglobeits
-
Demonstrate how to create a customization using an event observer. DI Observer
-
How are observers registered? magenticians, devdocs
-
How are they scoped for frontend or backend? belvg, magenest
-
How are automatic events created, and how should they be used? meetanshi
-
How are scheduled jobs configured? PartE
-
Describe the usage of bin/magento commands in the development cycle. ConsoleCommand, BDC_Mycli,Step 2D.1
-
Which commands are available? emiprotechnologies, meetanshi, mage2.pro
-
How are commands used in the development cycle? devdocs
- How would you install and verify an extension by a customer’s request? belvg blog, devdocs
-
Understand the pros and cons of using developer mode or production mode.devdocs meetanshi blog
-
How do you enable/disable maintenance mode? devdocs
magento maintenance:enable [--ip=<ip address> ... --ip=<ip address>] | [ip=none]
magento maintenance:disable [--ip=<ip address> ... --ip=<ip address>] | [ip=none]
magento maintenance:status
-
create a frontend controller with different response types (HTML / JSON / redirect) SetupFrontendRoute, Responses
-
How do you identify which module/controller corresponds to a given URL? Step2A12
- How is the user-friendly URL of a product or category defined? mageplaza,
- How can you change it?
- How do you determine which page corresponds to a given user-friendly URL? fastcomet
- Demonstrate the ability to customize the Magento UI using themes. devdocs, inchoo
- When would you create a new theme? devdocs magestore
- How do you define theme hierarchy for a project? mageplaza
-
create UI customizations using a combination of a block and template? mageplaza, amasty
-
How do you assign a template to a block? webnexs , magenticians
-
How do you assign a different template to a native block? cloudways
- When would you use non-template block types? belvg
-
Magento layout XML schema, including the major XML directives? belvg, magestore magefoo
-
How do you use layout XML directives in your customizations? magento-notes
-
How do you register a new layout file? webkul
4.1 Describe the basic concepts of models, resource models, and collections mageplaza, emiprotechnologies,
pierrefay, fixes, module-creator
- What are the responsibilities of each of the ORM object types? Step2A9Note1
- How do they relate to one another?
- How do you use the native Magento save/load process in the development process?save/load process
- How do you add a column using declarative schema? Step 2A.4 -5 BDC_Declarative
- How do you modify a table added by another module? ||
- How do you delete a column? ||
- How do you add an index or foreign key using declarative schema? ||
- How do you manipulate data using data patches? Step 2A.7
- What is the purpose of schema patches? Step 2A.7 BDC_Declarative
- How would you create an admin controller? Step 2B.15-17, mage2-blog,magecheck
- How do you ensure the right level of security for a new controller? andresa
-
terms and elements of system configuration, including scopes, website, store, store view? ||
-
How would you add a new system configuration option? belvg, inviqa, magecomp
-
What is the difference in this process for different option types (secret, file)? Secret Field
<field id="custom_secret" type="obscure" translate="label" sortOrder="70" showInDefault="1" showInWebsite="1" showInStore="1">
<label>Custom Secret Field</label>
<backend_model>Magento\Config\Model\Config\Backend\Encrypted</backend_model>
</field>
type=”obscure” hides the field value from the frontend, but in this case, the data will still be stored as plain text.
Setting Magento\Config\Model\Config\Backend\Encrypted as a backend model allows you to encrypt the data in the database.
Most of the source models are located in app/code/Magento/Config/Model/Config/Source and backend models are located in app/code/Magento/Config/Model/Config/Backend.
- How would you add a new ACL resource to a new entity? Step 2B.3
- How do you manage the existing ACL hierarchy? Step 2B.8
- How do you add a new menu item to a given tab? Step 2B.1
- How do you add a new tab to the Admin menu? dckap, chapagain
- How are menu items related to ACL permissions? mageplaza, belvg blog
- How do you add a new user with given set of permissions? mageworx, mageplaza
- How would you obtain a product of a specific type, and what tools (in general) does a product type model provide? belvg, mageplaza
- How are configurable and bundle products rendered? belvg
- How can you create a custom shopping cart renderer? mage2, sherocommerce
-
How would you add another tab in the “My Account” section? magecomp,mageplaza, webkul
-
How do you customize the order history page? belvg
- How do you add or modify customer attributes in a setup script? mageplaza, coolblueweb devdocs
- How do you add another field to the customer address entity using a setup script? siphor, webkul, web4pro, devdocs
End