Adobe Commerce Front-End Developer Expert AD0-E720 Exam Questions

Page: 1 / 14
Total 50 questions
Question 1

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 2

An Adobe Commerce developer wants to initialize a JS component via Layout XML in custom reference block test. component. Which Layout XML instruction would be used to initialize this JS component?

A)

B)

C)



Answer : A

Option A is the correct way to initialize a JS component via Layout XML in a custom reference block. The x-magento-init tag is used to specify the component name and the options. Option B is incorrect because it uses the data-mage-init attribute, which is only valid for HTML elements. Option C is incorrect because it uses the x-magento-component tag, which is deprecated and should not be used.

https://developer.adobe.com/commerce/frontend-core/

https://experienceleague.adobe.com/docs/certification/program/technical-certifications/ac/ac-expert/ac-e-fedeveloper0623.html?lang=en


Question 3

An Adobe Commerce developer has been asked to add text to an email template that supports translations. Which two options would they use during their implementation? (Choose two.)



Answer : B, D

To add text to an email template that supports translations, the developer should use the {{trans}} directive with the text enclosed in double quotes. For example:

{{trans ''Lorem Ipsum is simply dummy text of the printing''}}

This will render the text as it is, or translate it if a translation file is available for the current locale. If the text contains a variable, the developer should use a placeholder with a percent sign and pass the variable name as an argument. For example:

{{trans ''%items items'' items=''numItems''}}

This will render the text with the value of numItems replacing the %items placeholder, or translate it if a translation file is available for the current locale. The {{translations}} directive is not valid and will not work. Reference: [Translate email templates], [Email template syntax]


Question 4

An Adobe Commerce developer has been asked to move a block called country from the container sidebar to the container content, the block has to be the last child on the content container.

Which layout instruction would be used to move the block?



Answer : A

To move a block from one container to another, the developer needs to use the <move> layout instruction with the element attribute specifying the name of the block and the destination attribute specifying the name of the container. The after attribute can be used to position the block relative to other blocks in the same container. The value ''-'' means that the block will be placed after all other blocks, i.e., as the last child. The value ''last-child'' is not valid for the after attribute and will not work. The element and destination attributes should use the names of the blocks and containers, not their aliases or classes. Reference: [Layout instructions], [Move an element]


Question 5

An Adobe Commerce developer has created a system configuration field:

Using Layout XML, how can the visibility of a block be controlled by a system configuration?



Answer : A

To control the visibility of a block using a system configuration, the developer should use the ifconfig attribute in the <block> tag. The ifconfig attribute should specify the path to the system configuration field that determines whether the block is visible or not. For example:

<block name=''block.name'' template=''Vendor_Module::template.phtml'' ifconfig=''vendor/general/enable'' />

This will render the block only if the vendor/general/enable system configuration field is set to true. The module/general/enable and general/module/enable paths are not valid and will not work, as they do not match the system configuration field defined in the image. Reference: [Layout instructions], [System configuration]


Question 6

An Adobe Commerce developer wants to create a sticky widget.

How would the widget be initialized using the data-mage-init attribute?

A)

B)

C)



Answer : B

Option B is the correct way to initialize a widget using the data-mage-init attribute. The attribute value should be a JSON object with the widget name as the key and the widget options as the value. Option A is incorrect because it uses a string instead of an object for the attribute value. Option C is incorrect because it uses a colon instead of a comma to separate the widget name and the options.


Question 7

An Adobe Commerce developer has been asked to implement a custom font specifically for emails. The Adobe Commerce developer has already added their font into the file system.

Keeping best practice in mind, which two files would need to be implemented to show the custom font in the email?



Answer : A, B

To implement a custom font specifically for emails, the developer needs to do the following steps:

Add the custom font file to the web/fonts directory of the custom theme.

Use the @import font function with the url of the custom font from the theme in the /Vendor/Theme/web/css/source/_extend.less file. This will import the custom font and make it available for use in other LESS files. For example:

@import font('custom-font', '@{baseDir}fonts/custom-font.ttf', 'truetype');

Add in the styles to target the elements that require being changed in the /Vendor/Theme/web/css/source/_email.less file. This file is used to define the styles for email templates. The developer can use the .lib-font-face() mixin to apply the custom font to specific selectors. For example:

.lib-font-face( @family-name: @custom-font, @font-path: '@{baseDir}fonts/custom-font', @font-weight: normal, @font-style: normal );

h1 { .lib-font-face( @family-name: @custom-font, @font-path: '@{baseDir}fonts/custom-font', @font-weight: normal, @font-style: normal ); }

The /vendor/Theme/web/css/source/_typography.less file is not suitable for implementing a custom font for emails, as it is used for defining global typography styles for web pages. The <head></head> tag is not used for adding fonts in email templates, as it is not supported by most email clients. Reference: [Custom fonts], [Email templates overview]


Page:    1 / 14   
Total 50 questions