Adobe AD0-E720 Adobe Commerce Front-End Developer Expert Exam Practice Test

Page: 1 / 14
Total 50 questions
Question 1

An Adobe Commerce developer wants to create a new theme Vendor_Orange which extends from MagentoMum

a. Which file is responsible for specifying the parent theme?



Answer : C

The theme.xml file is responsible for specifying the parent theme of a custom theme. The file should contain the element with the value of the parent theme's directory, such as MagentoMuma. The view.xml file is used to configure the theme's images, fonts, and layout. The registration.php file is used to register the theme in the system. Reference: [Create a theme], [theme.xml]


Question 2

An Adobe Commerce developer is using a view model within an existing block:

What are two ways to access the view model class in the template? (Choose two.)



Answer : A, D

To access a view model within an existing block, the developer can use either of the following ways:

$block->getData('view_model'): This method will return the view model object that is assigned to the argument name ''view_model'' in the layout XML file. For example:

<referenceBlock name=''blog_posts_list''> ExampleObjectModel/ExampleObjectModel </referenceBlock>

In the template file, the developer can access the view model object by using:

$block->getData('view_model')

$block->getData('viewModel'): This method will return the view model object that is assigned to the argument name ''viewModel'' in the layout XML file. For example:

<referenceBlock name=''blog_posts_list''> ExampleObjectModel/ExampleObjectModel </referenceBlock>

In the template file, the developer can access the view model object by using:

$block->getData('viewModel')

The following methods are not valid and will not work:

$block->viewModel(): This method does not exist and will cause an error.

$block->getViewHodel(): This method is misspelled and will cause an error.


Question 3

An Adobe Commerce Developer is adding a new page layout to the theme directory within a custom theme. Which file needs to be created to register the new page layout?



Answer : C

To register a new page layout in a custom theme, the developer needs to create a layouts.xml file in the app/design/frontend/<VendorName>/<ThemeName>/Magento_Theme/layout directory. The layouts.xml file should contain the <layout> element with the id, label, and file attributes. The id attribute is used to reference the layout in other layout files, the label attribute is used to display the layout name in the admin panel, and the file attribute is used to specify the path to the layout file relative to the web directory of the theme. The app/design/frontend/<VendorName>/<ThemeName>/layouts.xml and app/design/frontend/<VendorName>/<ThemeName>/Magento_Theme/layouts.xml files are not valid and will not work. Reference: [Create a new page layout], [layouts.xml]


Question 4

An Adobe Commerce developer wants to create symlinks for the frontend theme named Vendor/Orange using a CSS file: /pub/static/frontend/Vendor/Orange/en_US/css/styles-l.css during development.

Which CLI command would the developer use to create symlinks for the en_US locale?



Answer : B

The bin/magento dev:source-theme:deploy command is used to create symlinks for frontend theme files during development. This command allows the developer to modify source files without running static content deployment every time. The developer can use parameters to specify the type, locale, theme, and file names for creating symlinks. For example, to create symlinks for a CSS file named styles-l.css for the Vendor/Orange theme and the en_US locale, the developer can use:

bin/magento dev:source-theme:deploy --type=less --locale=en_US --theme=Vendor/Orange css/styles-l

The other two options are incorrect because they do not create symlinks for frontend theme files. The bin/magento dev:theme:deploy command is used to register themes with Magento and clear caches. The bin/magento deploy:mode:set command is used to change the application mode. Reference:Adobe Commerce Developer Documentation,Adobe Inc.


Question 5

An Adobe Commerce developer wants to override the following Layout XML file in the theme ExampleCorp/orange.

app/design/frontend/ExampleCorp/blank/Vendor_Module/layout/catalog_product_view.xml

What path would the developer use inside the layout directory of the theme to override the file?



Answer : C

To override a layout XML file from a parent theme, the developer just needs to place the modified file in the same path relative to the layout directory of the child theme. In this case, the file would be app/design/frontend/ExampleCorp/orange/Vendor_Module/layout/catalog_product_view.xml. The override directory is not used for overriding layout files, but for overriding templates and web assets. Reference: [Layout instructions], [Override templates and layout files]


Question 6

An Adobe Commerce developer needs to display a URL in the template. How would the variable $ur1 be securely output in the template?



Answer : A

To display a URL in a template securely, the developer should use the escapeUrl method of the escaper object. This method will encode any special characters in the URL that can be used for XSS attacks, such as &, <, >, ', ', etc. For example:

<?php echo $escaper->escapeUrl($url) ?>

The following methods are not suitable for displaying URLs and should not be used:

<?php echo $escaper->escapeLink($url) ?>: This method is used for escaping link attributes, not URLs. It will encode any characters that are valid in URLs but invalid in HTML attributes, such as spaces, quotes, etc. For example:

<?php echo $escaper->escapeLink('https://example.com/?q=hello world') ?> // Output: https://example.com/?q=hello%20world

<?php echo $escaper->escapeHtml($url) ?>: This method is used for escaping HTML content, not URLs. It will encode any characters that are valid in URLs but invalid in HTML content, such as &, <, >, etc. For example:

<?php echo $escaper->escapeHtml('https://example.com/?q=<script>alert(''XSS'')</script>') ?> // Output: https://example.com/?q=<script>alert('XSS')</script>


Question 7

An Adobe Commerce developer created a module called Orange_Customer. In customer information.

Where would the developer place this file?



Answer : C

To place a template file for a custom module, the developer should follow this path pattern:

app/code/<Vendor>/<Module>/view/<Area>/templates/<Template>

In this case, the vendor name is Orange, the module name is Customer, the area is frontend, and the template name is customer-info.phtml. Therefore, the correct path is:

app/code/Orange/Customer/view/frontend/templates/customer-info.phtml

The following paths are not correct and will not work:

app/code/Orange/customer/view/frontend/web/templates/customer-info.phtml: This path is incorrect because it uses web instead of templates, which is used for storing web assets like CSS, JS, and images, not template files.

app/code/Orange/Customer/frontend/templates/customer-info.phtml: This path is incorrect because it misses the view directory, which is required for separating frontend and backend templates.


Page:    1 / 14   
Total 50 questions