Adobe ad0-e717 practice test

Adobe Commerce Developer Professional

Last exam update: Nov 18 ,2025
Page 1 out of 6. Viewing questions 1-15 out of 77

Question 1

How should a developer display a custom attribute on the category edit page in the admin panel
when a new module Vendor.Category is created?

  • A. Create view/adminhtml/layout/catalog_category_edit xml in the module, and then define a block that would display the field for the attribute.
  • B. The field for the attribute will appear automatically.
  • C. Create view/adminhtml/ui_component/category_form.xml file in the module, and then define the field for the attribute.
Mark Question:
Answer:

C


Explanation:
To display a custom attribute on the category edit page in the Magento admin panel, a developer
should use the UI component approach. This involves creating a category_form.xml file within the
view/adminhtml/ui_component directory of the module. This XML file defines the form fields
(including any custom attributes) that should appear on the category edit page. The UI component
system in Magento provides a flexible way to manage form elements and their interactions on the
admin side, ensuring a consistent user interface and experience​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 2

How should a grid or form be included in an admin page layout using the Ul Component?

  • A. <referenceContainername='content"> q <uiComponentname="example_listing.xml7> </referenceContainer>
  • B. <referenceContainername='contenf> q <uiComponent name="example_listing7> </referenceContainer>
  • C. <referenceContainername='content"> <uiComponentname="Vendor_Module::ul_component/example_listing.xml7> </referenceContainer>
Mark Question:
Answer:

B


Explanation:
To include a grid or form in an admin page layout using the UI Component, the correct approach is to
use the <uiComponent name="example_listing"/> within a <referenceContainer name='content'>
block of the layout XML file. This method directly references the UI component's configuration file
(e.g., example_listing.xml) which defines the structure and functionality of the UI component, such
as grids or forms. This configuration file is located under the view/adminhtml/ui_component
directory of the corresponding module​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 3

Which action, if any, should be taken to forbid Adobe Commerce Admin from performing specific
actions?

  • A. Create a new user role with custom-defined resources, and assign it to the admin user
  • B. This action cannot be taken since all admin users must have full access.
  • C. Enable custom roles in the store configuration, and assign admin user ID(s).
Mark Question:
Answer:

A


Explanation:
To forbid Adobe Commerce Admin from performing specific actions, a developer should create a new
user role with custom-defined resources, and assign it to the admin user. This can be done by going
to System > Permissions > Roles and creating a new role. In the Resources section, the developer can
select the specific resources that they want to restrict the admin user from accessing.
To restrict specific actions within the Adobe Commerce Admin, the recommended approach is to
utilize Magento's Access Control List (ACL). This can be done by creating a new user role with
custom-defined resources and assigning this role to the admin user. This approach allows for granular
control over what actions an admin user can perform by specifying allowed resources within the role.
Magento's ACL system is designed to manage permissions effectively, ensuring that users only have
access to the necessary functionalities required for their role​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 4

Which file should a developer use to set the default value when creating configuration fields for
admin?

  • A. etc/adminhtml/config.xml
  • B. etc/config xml
  • C. etc/adminhtml/system.xml
Mark Question:
Answer:

A


Explanation:
When creating configuration fields for the admin panel and setting their default values, a developer
should use the etc/config.xml file within their module. This file is used to declare default values for
the module's configuration options. When Magento is installed or the module is enabled, these
values are automatically loaded into the database, under the core_config_data table, setting the
initial configuration for the module. This approach ensures that the module has sensible defaults and
operates correctly upon installation​​

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 5

How can a developer prioritize a plugin's execution, if possible?

  • A. The developer can use sortOrder property by specifying a lower value than the target plugin.
  • B. The developer can use sortOrder property by specifying a higher value than the target plugin.
  • C. This cannot be achieved as the plugins are always executed by their module's load order in app/etc/config.php file.
Mark Question:
Answer:

A


Explanation:
A developer can prioritize the execution of a plugin by using the sortOrder property within the
plugin's declaration in the di.xml file. Specifying a lower value for the sortOrder property gives the
plugin higher priority, meaning it will be executed before other plugins with a higher sortOrder value.
This allows developers to control the order of plugin execution, which can be critical for ensuring the
desired outcome when multiple plugins are affecting the same method​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 6

In which two directories are third-party modules located by default? (Choose two.)

  • A. vendor/
  • B. app/packages/
  • C. app/modules/
  • D. app/code/
Mark Question:
Answer:

A, D


Explanation:
By default, third-party modules are located in vendor/ or app/code/ directories. The vendor/
directory contains modules that are installed using Composer, while the app/code/ directory contains
modules that are manually copied or cloned from a repository.
Third-party modules in Magento 2 are typically located in two directories by default: the vendor/
directory and the app/code/ directory. The vendor/ directory is used for modules that are installed
via Composer, Magento's dependency manager, which includes both Magento's core modules and
third-party modules. The app/code/ directory is used for custom modules developed specifically for
the project or for third-party modules that are manually installed without Composer. These
conventions provide a structured approach to managing Magento modules, whether they are part of
Magento's core functionality, contributed by the community, or developed for specific projects​​.

User Votes:
A
50%
B
50%
C
50%
D
50%
Discussions
vote your answer:
A
B
C
D
0 / 1000

Question 7

What does a URL Rewrite do?

  • A. It updates the URL that is stored on the server.
  • B. It changes the way a URL appears in the browser
  • C. It updates the URL to a domain that is not being Indexed.
Mark Question:
Answer:

B


Explanation:
A URL Rewrite in Magento changes the way a URL appears in the browser. This is particularly useful
for improving the readability and SEO of a URL. For example, a URL rewrite can be used to transform
a long and complex URL into a shorter and more user-friendly version. It's important to note that
while a URL rewrite changes the URL's appearance in the browser, it doesn't change the actual
location of the resource on the server. This distinction is crucial for understanding how Magento
handles URL rewrites and redirects, facilitating a more intuitive navigation structure within the store
without altering the underlying server resources​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 8

Which file is used to add a custom router class to the list of routers?

  • A. routes.xml
  • B. di.xml
  • C. config.xml
Mark Question:
Answer:

A


Explanation:
To add a custom router class to the list of routers in Magento, the routes.xml file is used. This file
should be located in the etc directory of the module, under the appropriate area (either frontend or
adminhtml). Within the routes.xml file, you define a router with an ID, a route with an ID and
frontName, and specify the module that the route corresponds to. This setup allows Magento to
recognize and utilize the custom router when processing URLs, directing requests to the appropriate
controllers based on the custom routing logic defined​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 9

A developer found a bug inside a private method of a third party module class. How can the
developer override the method?

  • A. Create a custom class with corrected logic, and define the class as preference in the preferences.xml.
  • B. Create a custom class with the corrected logic, and define the class as a preference for original one in the di xml.
  • C. Create a plugin, implement correct logic in the after" method, and then define the plugin in the di.xml.
Mark Question:
Answer:

B


Explanation:
To override a private method in a third-party module class, the most effective approach is to use a
preference. This involves creating a custom class with the corrected logic and then defining this class
as a preference for the original one in the di.xml file. Plugins cannot be used to override private
methods, final methods, final classes, or classes created without dependency injection. Therefore,
the preference mechanism, which allows for the substitution of the entire class, becomes the viable
method to override a private method and modify its behavior​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 10

Which property allows multiple cron jobs to share the same configuration?

  • A. name
  • B. group
  • C. schedule
Mark Question:
Answer:

B


Explanation:
In Magento, the group element in the cron job configuration allows multiple cron jobs to share the
same configuration settings, such as schedule, status, and execution time limits. This grouping
facilitates the management of cron jobs, making it easier to configure and maintain them, especially
when multiple tasks require similar or identical settings. By assigning cron jobs to a specific group,
they inherit the group's configuration, streamlining the setup process and ensuring consistent
execution parameters across related tasks​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 11

Which command invalidates the index?

  • A. bin/magento indexerreindex <index_name>
  • B. bin/magento indexer:reset <index_name>
  • C. bin/magento Indexerinvalldate <lndex_name>
Mark Question:
Answer:

B


Explanation:
The command bin/magento indexer:reset <index_name> is used to invalidate a specific index in
Magento. When an index is invalidated, it flags the index as 'Invalid' in the Index Management
section of the Magento Admin, indicating that the data is out of sync and needs to be updated. This
command does not perform the reindexing itself but prepares the specified index for reindexing by
marking it as needing an update. This is an important step in ensuring that the Magento storefront
reflects the most current data​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 12

Which index mode is valid?

  • A. Update on refresh
  • B. Update on invalidate
  • C. Update on save
Mark Question:
Answer:

C


Explanation:
"Update on save" is a valid index mode in Magento, where the index is set to update automatically
whenever a change is saved. This mode ensures that the index remains up-to-date with the latest
data changes, such as product or category updates, immediately reflecting these changes on the
storefront. This real-time indexing is crucial for maintaining data accuracy and consistency across the
Magento site, especially in dynamic environments with frequent updates​​​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 13

Which command should be used to refresh the cache using the command line?

  • A. magentocacheclean<type>
  • B. magentocacherefresh<type>
  • C. magentocachedelete<type>
Mark Question:
Answer:

A


Explanation:
To refresh the cache using the command line in Magento, the command bin/magento cache:clean
<type> is used. This command clears the cache for the specified type, such as configuration, layout,
or block HTML. Cleaning the cache is an essential maintenance task that helps to update the store's
frontend with the latest changes and ensure that customers see the most current content. This
command is particularly useful during development or after making changes to the store's
configuration or layout​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 14

Which has its own root category?

  • A. Websites
  • B. Stores
  • C. Store Views
Mark Question:
Answer:

B


Explanation:
In Magento, each store has its own root category. The root category acts as the top-level category
under which all other categories and products are organized for that particular store. This structure
allows for different catalog structures across multiple stores within a Magento installation, enabling a
tailored product offering and navigation experience for each store. The ability to assign a unique root
category to each store is a fundamental aspect of Magento's multi-store functionality, providing the
flexibility to cater to diverse market segments or branding requirements​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000

Question 15

A merchant has noticed an error in the checkout. The accessed URL is /checkout.
Where can the developer find the responsible controller in the Magento.Checkout module?

  • A. Controller/lndex/lndex.php
  • B. Controller/lndex/Checkout.php
  • C. Controller/Checkout/lndex.php
Mark Question:
Answer:

C


Explanation:
The
controller
responsible
for
handling
the
/checkout
URL
is
located
in
Controller/Checkout/Index.php in the Magento.Checkout module1
.
This controller extends from
\Magento\Checkout\Controller\Index\Index, which implements the execute() method that renders
the checkout page1
.
In the Magento_Checkout module, the responsible controller for the /checkout URL can be found in
Controller/Checkout/Index.php. This controller handles the index action for the checkout process,
initiating the checkout page when a customer navigates to /checkout. The organization of controllers
in Magento follows a convention where the URL path corresponds to the directory structure within
the module, making it easier to locate and understand the functionality associated with specific
routes​​.

User Votes:
A
50%
B
50%
C
50%
Discussions
vote your answer:
A
B
C
0 / 1000
To page 2