Skip to content

Commit 511ec8f

Browse files
authored
Merge pull request #171 from magento-obsessive-owls/MC-5410
MC-5410: Banner & Slide Are Missing <A> Tag For Link Attribute On Storefront
2 parents fd718b1 + de34b1d commit 511ec8f

File tree

33 files changed

+76
-332
lines changed

33 files changed

+76
-332
lines changed

app/code/Magento/PageBuilder/Setup/DataConverter/Renderer/AdvancedSliderItem.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ public function render(array $itemData, array $additionalData = []) : string
121121

122122
// mobile wrapper div
123123
$rootElementHtml = '<div' . $this->printAttributes($rootElementAttributes) . '><div data-element="link"';
124-
$rootElementHtml .= isset($eavData['link_url']) ? ' data-href="' . $eavData['link_url'] . '">' : '>';
124+
$rootElementHtml .= isset($eavData['link_url']) ? ' href="' . $eavData['link_url'] . '">' : '>';
125125
$rootElementHtml .= '<div'
126126
. $this->printAttributes($wrapperDivElementAttributes)
127127
. '><div'

app/code/Magento/PageBuilder/Setup/DataConverter/Renderer/Driver.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ public function render(array $itemData, array $additionalData = []) : string
8686
$rootElementAttributes['style'] .= $margin;
8787
$linkAttributes = [
8888
'data-element' => 'link',
89-
'data-href' => $eavData['link_url'] ?? '',
90-
'data-target' => isset($eavData['target_blank']) && $eavData['target_blank'] ? '_blank' : '',
89+
'href' => $eavData['link_url'] ?? '',
90+
'target' => isset($eavData['target_blank']) && $eavData['target_blank'] ? '_blank' : '',
9191
];
9292

9393
$imageAttributes = [

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderBannerSection.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
<element name="messageContentTextAreaTextWidget" type="text" selector="(//div[@data-role='banner'])[{{arg1}}]//div[@data-element='content']//a[contains(@href,'{{arg2}}{{arg3}}')]" parameterized="true"/>
3939
<element name="messageContentText" type="text" selector="(//div[@data-role='banner'])[{{arg1}}]//div[@data-element='content']//*[contains(text(),'{{arg2}}')]" parameterized="true"/>
4040
<element name="messageContentHeightJS" type="text" selector="return document.evaluate(&quot;(//div[@data-role='banner'])[{{arg1}}]//div[@data-element='content']//div[contains(text(),'{{arg2}}')]&quot;, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.clientHeight;" parameterized="true"/>
41-
<element name="linkUrl" type="button" selector="(//div[@data-role='banner'])[{{arg1}}]/*[@data-element='link'][contains(@data-href,'{{arg2}}')]" parameterized="true"/>
42-
<element name="openInNewTab" type="button" selector="(//div[@data-role='banner'])[{{arg1}}]/*[@data-element='link'][contains(@data-target,'_blank')]" parameterized="true"/>
41+
<element name="linkUrl" type="button" selector="(//div[@data-role='banner'])[{{arg1}}]/a[@data-element='link'][contains(@href,'{{arg2}}')]" parameterized="true"/>
42+
<element name="openInNewTab" type="button" selector="(//div[@data-role='banner'])[{{arg1}}]/a[@data-element='link'][contains(@target,'_blank')]" parameterized="true"/>
4343
<element name="button" type="button" selector="(//div[@data-role='banner'])[{{arg1}}]//div[@data-element='wrapper']//button" parameterized="true"/>
4444
<element name="showButton" type="button" selector="(//div[@data-role='banner'])[{{arg1}}][@data-show-button='{{arg2}}']" parameterized="true"/>
4545
<element name="buttonType" type="button" selector="(//div[@data-role='banner'])[{{arg1}}]//div[@data-element='wrapper']//button[contains(@class,'{{arg2}}')]" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderSliderSection.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@
9494
<element name="messageContentTextAreaTextWidget" type="text" selector="(//div[@data-role='slide'])[{{arg1}}]//div[@data-element='content']//a[contains(@href,'{{arg2}}{{arg3}}')]" parameterized="true"/>
9595
<element name="messageContentText" type="text" selector="(//div[@data-role='slide'])[{{arg1}}]//div[@data-element='content']//*[contains(text(),'{{arg2}}')]" parameterized="true"/>
9696
<element name="messageContentHeightJS" type="text" selector="return document.evaluate(&quot;(//div[@data-role='slide'])[{{arg1}}]//div[@data-element='content']//*[contains(text(),'{{arg2}}')]&quot;, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.clientHeight;" parameterized="true"/>
97-
<element name="linkUrl" type="button" selector="(//div[@data-role='slide'])[{{arg1}}]//*[@data-element='link'][contains(@data-href,'{{arg2}}')]" parameterized="true"/>
98-
<element name="openInNewTab" type="button" selector="(//div[@data-role='slide'])[{{arg1}}]/*[@data-element='link'][contains(@data-target,'_blank')]" parameterized="true"/>
97+
<element name="linkUrl" type="button" selector="(//div[@data-role='slide'])[{{arg1}}]//a[@data-element='link'][contains(@href,'{{arg2}}')]" parameterized="true"/>
98+
<element name="openInNewTab" type="button" selector="(//div[@data-role='slide'])[{{arg1}}]/a[@data-element='link'][contains(@target,'_blank')]" parameterized="true"/>
9999
<element name="button" type="button" selector="(//div[@data-role='slide'])[{{arg1}}]//div[@data-element='wrapper']//button[@data-element='button']" parameterized="true"/>
100100
<element name="noButton" type="button" selector="(//div[@data-role='slide'])[{{arg1}}]//div[@data-element='wrapper'][not(descendant::*[@data-element='button'])]" parameterized="true"/>
101101
<element name="showButton" type="button" selector="(//div[@data-role='slide'])[{{arg1}}][@data-show-button='{{arg2}}']" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderBannerPosterAppearanceTest.xml

-24
Original file line numberDiff line numberDiff line change
@@ -823,12 +823,6 @@
823823
<argument name="selection" value="{{ExternalLink.url}}"/>
824824
<argument name="newTab" value="PageBuilderBannerNewTabDefaultProperty"/>
825825
</actionGroup>
826-
<!-- Add Link To WYSIWYG -->
827-
<comment userInput="Add Link To WYSIWYG" stepKey="commentAddLink"/>
828-
<actionGroup ref="insertLinkInWYSIWYG" stepKey="insertLinkInWYSIWYG">
829-
<argument name="url" value="{{ExternalLink.googleUrl}}"/>
830-
<argument name="textToDisplay" value="{{ExternalLink.googleUrl}}"/>
831-
</actionGroup>
832826
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/>
833827
<click selector="{{PageBuilderPanel.searchPanel}}" stepKey="unFocusEditor"/>
834828
<!-- Validate Stage -->
@@ -861,15 +855,6 @@
861855
<click selector="{{BannerOnFrontend.linkUrl('1', PageBuilderBannerLinkUrlPropertyValidate.value)}}" stepKey="clickLinkUrlStorefront"/>
862856
<wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefront" />
863857
<seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlPropertyValidate.value}}" stepKey="seeThatUrlIsChangedToButtonUrlStorefront" />
864-
<!-- Click wysiwyg anchor -->
865-
<comment userInput="Click wysiwyg anchor" stepKey="clickWysiwygLinkAnchorStorefront" />
866-
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront2">
867-
<argument name="contentType" value="PageBuilderBannerContentType"/>
868-
</actionGroup>
869-
<seeElement selector="{{BannerOnFrontend.wysiwygLinkUrl('1', ExternalLink.googleUrl)}}" stepKey="seeWysiwygLinkUrlStorefront"/>
870-
<click selector="{{BannerOnFrontend.wysiwygLinkUrl('1', ExternalLink.googleUrl)}}" stepKey="clickWysiwygLinkUrlStorefront"/>
871-
<wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefront2" />
872-
<seeCurrentUrlEquals url="{{ExternalLink.googleUrl}}" stepKey="seeThatUrlIsChangedToWysiwygLinkUrlStorefront" />
873858
<!-- Validate Storefront Mobile -->
874859
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront3">
875860
<argument name="contentType" value="PageBuilderBannerContentType"/>
@@ -889,15 +874,6 @@
889874
<click selector="{{BannerOnFrontend.linkUrl('1', PageBuilderBannerLinkUrlPropertyValidate.value)}}" stepKey="clickLinkUrlStorefrontMobile"/>
890875
<wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefrontMobile" />
891876
<seeCurrentUrlEquals url="{{PageBuilderBannerLinkUrlPropertyValidate.value}}" stepKey="seeThatUrlIsChangedToButtonUrlStorefrontMobile" />
892-
<!-- Click mobile wysiwyg anchor -->
893-
<comment userInput="Click mobile wysiwyg anchor" stepKey="clickMobileWysiwygLinkAnchorStorefront" />
894-
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront4">
895-
<argument name="contentType" value="PageBuilderBannerContentType"/>
896-
</actionGroup>
897-
<seeElement selector="{{BannerOnFrontend.wysiwygLinkUrl('1', ExternalLink.googleUrl)}}" stepKey="seeMobileWysiwygLinkUrlStorefront"/>
898-
<click selector="{{BannerOnFrontend.wysiwygLinkUrl('1', ExternalLink.googleUrl)}}" stepKey="clickMobileWysiwygLinkUrlStorefront"/>
899-
<wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefrontMobile2" />
900-
<seeCurrentUrlEquals url="{{ExternalLink.googleUrl}}" stepKey="seeThatUrlIsChangedToMobileWysiwygLinkUrlStorefront" />
901877
</test>
902878
<test name="BannerPosterOverlayPosition">
903879
<annotations>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderSlideItemAppearancePosterTests.xml

-24
Original file line numberDiff line numberDiff line change
@@ -598,12 +598,6 @@
598598
<argument name="selection" value="{{ExternalLink.url}}"/>
599599
<argument name="newTab" value="PageBuilderSlideItemLinkNewTab_False"/>
600600
</actionGroup>
601-
<!-- Add Link To WYSIWYG -->
602-
<comment userInput="Add Link To WYSIWYG" stepKey="commentAddLink"/>
603-
<actionGroup ref="insertLinkInWYSIWYG" stepKey="insertLinkInWYSIWYG">
604-
<argument name="url" value="{{ExternalLink.googleUrl}}"/>
605-
<argument name="textToDisplay" value="{{ExternalLink.googleUrl}}"/>
606-
</actionGroup>
607601
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/>
608602
<!-- Validate Stage -->
609603
<comment userInput="Validate Stage" stepKey="commentValidateStage"/>
@@ -635,15 +629,6 @@
635629
<click selector="{{SlideOnFrontend.linkUrl('1', PageBuilderSlideItemLinkURL_External.value)}}" stepKey="clickLinkUrlStorefront"/>
636630
<wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefront" />
637631
<seeCurrentUrlEquals url="{{PageBuilderSlideItemLinkURL_External.value}}" stepKey="seeThatUrlIsChangedToButtonUrlStorefront" />
638-
<!-- Click wysiwyg anchor -->
639-
<comment userInput="Click wysiwyg anchor" stepKey="clickWysiwygLinkAnchorStorefront" />
640-
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront2">
641-
<argument name="contentType" value="PageBuilderSliderContentType"/>
642-
</actionGroup>
643-
<seeElement selector="{{SlideOnFrontend.wysiwygLinkUrl('1', ExternalLink.googleUrl)}}" stepKey="seeWysiwygLinkUrlStorefront"/>
644-
<click selector="{{SlideOnFrontend.wysiwygLinkUrl('1', ExternalLink.googleUrl)}}" stepKey="clickWysiwygLinkUrlStorefront"/>
645-
<wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefront2" />
646-
<seeCurrentUrlEquals url="{{ExternalLink.googleUrl}}" stepKey="seeThatUrlIsChangedToWysiwygLinkUrlStorefront" />
647632
<!-- Validate Storefront Mobile -->
648633
<comment userInput="Validate Storefront Mobile" stepKey="commentValidateStorefrontMobile"/>
649634
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront3">
@@ -663,15 +648,6 @@
663648
<click selector="{{SlideOnFrontend.linkUrl('1', PageBuilderSlideItemLinkURL_External.value)}}" stepKey="clickLinkUrlStorefrontMobile"/>
664649
<wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefrontMobile" />
665650
<seeCurrentUrlEquals url="{{PageBuilderSlideItemLinkURL_External.value}}" stepKey="seeThatUrlIsChangedToButtonUrlStorefrontMobile" />
666-
<!-- Click mobile wysiwyg anchor -->
667-
<comment userInput="Click mobile wysiwyg anchor" stepKey="clickMobileWysiwygLinkAnchorStorefront" />
668-
<actionGroup ref="navigateToStoreFront" stepKey="navigateToStoreFront4">
669-
<argument name="contentType" value="PageBuilderSliderContentType"/>
670-
</actionGroup>
671-
<seeElement selector="{{SlideOnFrontend.wysiwygLinkUrl('1', ExternalLink.googleUrl)}}" stepKey="seeMobileWysiwygLinkUrlStorefront"/>
672-
<click selector="{{SlideOnFrontend.wysiwygLinkUrl('1', ExternalLink.googleUrl)}}" stepKey="clickMobileWysiwygLinkUrlStorefront"/>
673-
<wait time="3" stepKey="waitArbitraryTimeForPotentialNavigationToOccurStorefrontMobile2" />
674-
<seeCurrentUrlEquals url="{{ExternalLink.googleUrl}}" stepKey="seeThatUrlIsChangedToMobileWysiwygLinkUrlStorefront" />
675651
</test>
676652
<test name="SlideItemPosterOverlayPosition">
677653
<annotations>

app/code/Magento/PageBuilder/etc/di.xml

-6
Original file line numberDiff line numberDiff line change
@@ -511,9 +511,6 @@
511511
<item name="dataRole" xsi:type="string">slide</item>
512512
</item>
513513
</item>
514-
<item name="clickEventBinder" xsi:type="array">
515-
<item name="component" xsi:type="string">Magento_PageBuilder/js/widget/click-event-binder</item>
516-
</item>
517514
</item>
518515
<item name="banner" xsi:type="array">
519516
<item name="default" xsi:type="array">
@@ -524,9 +521,6 @@
524521
<item name="dataRole" xsi:type="string">banner</item>
525522
</item>
526523
</item>
527-
<item name="clickEventBinder" xsi:type="array">
528-
<item name="component" xsi:type="string">Magento_PageBuilder/js/widget/click-event-binder</item>
529-
</item>
530524
</item>
531525
<item name="buttons" xsi:type="array">
532526
<item name="default" xsi:type="array">

app/code/Magento/PageBuilder/view/adminhtml/pagebuilder/content_type/banner.xml

+8-8
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
</element>
3434
<element name="link">
3535
<attribute name="link_url" reader="Magento_PageBuilder/js/property/link" persistence_mode="read"/>
36-
<attribute name="virtual_link_href" storage_key="link_url" source="data-href" converter="Magento_PageBuilder/js/converter/attribute/link-href" preview_converter="Magento_PageBuilder/js/converter/attribute/preview/link-href"/>
37-
<attribute name="virtual_link_target" storage_key="link_url" source="data-target" converter="Magento_PageBuilder/js/converter/attribute/link-target" persistence_mode="write"/>
36+
<attribute name="virtual_link_href" storage_key="link_url" source="href" converter="Magento_PageBuilder/js/converter/attribute/link-href" preview_converter="Magento_PageBuilder/js/converter/attribute/preview/link-href"/>
37+
<attribute name="virtual_link_target" storage_key="link_url" source="target" converter="Magento_PageBuilder/js/converter/attribute/link-target" persistence_mode="write"/>
3838
<attribute name="virtual_link_type" storage_key="link_url" source="data-link-type" converter="Magento_PageBuilder/js/converter/attribute/link-type" persistence_mode="write"/>
3939
</element>
4040
<element name="wrapper">
@@ -99,8 +99,8 @@
9999
</element>
100100
<element name="link">
101101
<attribute name="link_url" reader="Magento_PageBuilder/js/property/link" persistence_mode="read"/>
102-
<attribute name="virtual_link_href" storage_key="link_url" source="data-href" converter="Magento_PageBuilder/js/converter/attribute/link-href" preview_converter="Magento_PageBuilder/js/converter/attribute/preview/link-href"/>
103-
<attribute name="virtual_link_target" storage_key="link_url" source="data-target" converter="Magento_PageBuilder/js/converter/attribute/link-target" persistence_mode="write"/>
102+
<attribute name="virtual_link_href" storage_key="link_url" source="href" converter="Magento_PageBuilder/js/converter/attribute/link-href" preview_converter="Magento_PageBuilder/js/converter/attribute/preview/link-href"/>
103+
<attribute name="virtual_link_target" storage_key="link_url" source="target" converter="Magento_PageBuilder/js/converter/attribute/link-target" persistence_mode="write"/>
104104
<attribute name="virtual_link_type" storage_key="link_url" source="data-link-type" converter="Magento_PageBuilder/js/converter/attribute/link-type" persistence_mode="write"/>
105105
</element>
106106
<element name="wrapper">
@@ -165,8 +165,8 @@
165165
</element>
166166
<element name="link">
167167
<attribute name="link_url" reader="Magento_PageBuilder/js/property/link" persistence_mode="read"/>
168-
<attribute name="virtual_link_href" storage_key="link_url" source="data-href" converter="Magento_PageBuilder/js/converter/attribute/link-href" preview_converter="Magento_PageBuilder/js/converter/attribute/preview/link-href"/>
169-
<attribute name="virtual_link_target" storage_key="link_url" source="data-target" converter="Magento_PageBuilder/js/converter/attribute/link-target" persistence_mode="write"/>
168+
<attribute name="virtual_link_href" storage_key="link_url" source="href" converter="Magento_PageBuilder/js/converter/attribute/link-href" preview_converter="Magento_PageBuilder/js/converter/attribute/preview/link-href"/>
169+
<attribute name="virtual_link_target" storage_key="link_url" source="target" converter="Magento_PageBuilder/js/converter/attribute/link-target" persistence_mode="write"/>
170170
<attribute name="virtual_link_type" storage_key="link_url" source="data-link-type" converter="Magento_PageBuilder/js/converter/attribute/link-type" persistence_mode="write"/>
171171
</element>
172172
<element name="wrapper">
@@ -232,8 +232,8 @@
232232
</element>
233233
<element name="link">
234234
<attribute name="link_url" reader="Magento_PageBuilder/js/property/link" persistence_mode="read"/>
235-
<attribute name="virtual_link_href" storage_key="link_url" source="data-href" converter="Magento_PageBuilder/js/converter/attribute/link-href" preview_converter="Magento_PageBuilder/js/converter/attribute/preview/link-href"/>
236-
<attribute name="virtual_link_target" storage_key="link_url" source="data-target" converter="Magento_PageBuilder/js/converter/attribute/link-target" persistence_mode="write"/>
235+
<attribute name="virtual_link_href" storage_key="link_url" source="href" converter="Magento_PageBuilder/js/converter/attribute/link-href" preview_converter="Magento_PageBuilder/js/converter/attribute/preview/link-href"/>
236+
<attribute name="virtual_link_target" storage_key="link_url" source="target" converter="Magento_PageBuilder/js/converter/attribute/link-target" persistence_mode="write"/>
237237
<attribute name="virtual_link_type" storage_key="link_url" source="data-link-type" converter="Magento_PageBuilder/js/converter/attribute/link-type" persistence_mode="write"/>
238238
</element>
239239
<element name="wrapper">

0 commit comments

Comments
 (0)