Skip to content

Commit 7c467d8

Browse files
committed
MC-3151: Update data migration
- Update data migration to new format of row
1 parent 32489ed commit 7c467d8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+81
-84
lines changed

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

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -34,53 +34,48 @@ public function render(array $itemData, array $additionalData = []) : string
3434
$appearance = (isset($formData['template'])
3535
&& $formData['template'] === 'full-width.phtml') ? 'full-width' : 'contained';
3636

37-
// Handle adding the wrapper element attributes when using the contained appearance
38-
$rootElementAttributes = [];
39-
if ($appearance === 'contained') {
40-
$rootElementAttributes = [
41-
'data-element' => 'main',
42-
'class' => $itemData['formData']['css_classes'] ?? '',
43-
];
44-
} elseif ($appearance === 'full-width') {
45-
$rootElementAttributes = [
46-
'data-element' => 'main',
47-
'data-role' => 'row',
48-
'data-appearance' => 'full-width',
49-
'class' => $itemData['formData']['css_classes'] ?? '',
50-
];
51-
}
52-
5337
$style = $this->styleExtractor->extractStyle($formData);
54-
if ($style) {
55-
$rootElementAttributes['style'] = $style;
56-
}
5738

5839
$childrenHtml = (isset($additionalData['children']) ? $additionalData['children'] : '');
5940

60-
// Wrap the children when the layout is full width
6141
if ($appearance === 'full-width') {
62-
$childrenHtml = '<div class="row-full-width-inner" data-element="inner">' . $childrenHtml . '</div>';
42+
return $this->renderElementWithAttributes(
43+
[
44+
'data-element' => 'main',
45+
'data-role' => 'row',
46+
'data-appearance' => 'full-width',
47+
'class' => $itemData['formData']['css_classes'] ?? '',
48+
'style' => $style ?? null
49+
],
50+
$this->renderElementWithAttributes(
51+
[
52+
'data-element' => 'inner',
53+
'class' => 'row-full-width-inner',
54+
],
55+
$childrenHtml
56+
)
57+
);
6358
}
6459

65-
$rootElementHtml = $this->renderElementWithAttributes(
66-
$rootElementAttributes,
67-
$childrenHtml
68-
);
69-
70-
// Wrap the root element in our wrapper for contained appearances
7160
if ($appearance === 'contained') {
7261
return $this->renderElementWithAttributes(
7362
[
74-
'data-element' => 'wrapper',
63+
'data-element' => 'main',
7564
'data-role' => 'row',
7665
'data-appearance' => 'contained',
77-
'class' => 'row-contained',
7866
],
79-
$rootElementHtml
67+
$this->renderElementWithAttributes(
68+
[
69+
'data-element' => 'inner',
70+
'class' => $itemData['formData']['css_classes'] ?? '',
71+
'style' => $style ?? null
72+
],
73+
$childrenHtml
74+
)
8075
);
8176
}
8277

83-
return $rootElementHtml;
78+
return '';
8479
}
8580

8681
/**
@@ -95,7 +90,9 @@ private function renderElementWithAttributes(array $attributes, string $children
9590
$rootElementHtml = '<div';
9691
foreach ($attributes as $attributeName => $attributeValue) {
9792
$attributeValue = trim($attributeValue);
98-
$rootElementHtml .= $attributeValue ? " $attributeName=\"$attributeValue\"" : '';
93+
if ($attributeValue) {
94+
$rootElementHtml .= $attributeValue ? " $attributeName=\"$attributeValue\"" : '';
95+
}
9996
}
10097
$rootElementHtml .= '>' . $childrenHtml . '</div>';
10198
return $rootElementHtml;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<div data-element="wrapper" data-role="row" data-appearance="contained" class="row-contained"><div data-element="main"><div data-element="main" data-role="accordion" data-appearance="default" data-mage-init="{&quot;accordion&quot;:{&quot;active&quot;:[0],&quot;collapsibleElement&quot;:&quot;[data-collapsible=true]&quot;,&quot;content&quot;:&quot;[data-content=true]&quot;}}" class="pagebuilder-accordion one two"><div data-collapsible="true" class="accordion-collapsible" data-open-on-load="0"><div data-role="trigger"><span>Accordion Title</span></div></div><div data-content="true" class="accordion-content"><p>Accordion Contents</p></div></div></div></div>
1+
<div data-element="main" data-role="row" data-appearance="contained"><div data-element="inner"><div data-element="main" data-role="accordion" data-appearance="default" data-mage-init="{&quot;accordion&quot;:{&quot;active&quot;:[0],&quot;collapsibleElement&quot;:&quot;[data-collapsible=true]&quot;,&quot;content&quot;:&quot;[data-content=true]&quot;}}" class="pagebuilder-accordion one two"><div data-collapsible="true" class="accordion-collapsible" data-open-on-load="0"><div data-role="trigger"><span>Accordion Title</span></div></div><div data-content="true" class="accordion-content"><p>Accordion Contents</p></div></div></div></div>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<div data-element="wrapper" data-role="row" data-appearance="contained" class="row-contained"><div data-element="main"><div data-element="main" data-role="accordion" data-appearance="default" data-mage-init="{&quot;accordion&quot;:{&quot;active&quot;:[1],&quot;collapsibleElement&quot;:&quot;[data-collapsible=true]&quot;,&quot;content&quot;:&quot;[data-content=true]&quot;}}" class="pagebuilder-accordion one two"><div data-collapsible="true" class="accordion-collapsible" data-open-on-load="0"><div data-role="trigger"><span>Title 1</span></div></div><div data-content="true" class="accordion-content"><p>Content 1</p></div><div data-collapsible="true" class="accordion-collapsible" data-open-on-load="1"><div data-role="trigger"><span>Title 2</span></div></div><div data-content="true" class="accordion-content"><p>Content 2</p></div></div></div></div>
1+
<div data-element="main" data-role="row" data-appearance="contained"><div data-element="inner"><div data-element="main" data-role="accordion" data-appearance="default" data-mage-init="{&quot;accordion&quot;:{&quot;active&quot;:[1],&quot;collapsibleElement&quot;:&quot;[data-collapsible=true]&quot;,&quot;content&quot;:&quot;[data-content=true]&quot;}}" class="pagebuilder-accordion one two"><div data-collapsible="true" class="accordion-collapsible" data-open-on-load="0"><div data-role="trigger"><span>Title 1</span></div></div><div data-content="true" class="accordion-content"><p>Content 1</p></div><div data-collapsible="true" class="accordion-collapsible" data-open-on-load="1"><div data-role="trigger"><span>Title 2</span></div></div><div data-content="true" class="accordion-content"><p>Content 2</p></div></div></div></div>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<div data-element="wrapper" data-role="row" data-appearance="contained" class="row-contained"><div data-element="main"><div data-element="main" data-role="slider" data-appearance="default" data-autoplay="0" data-autoplay-speed="0" data-fade="0" data-is-infinite="0" data-show-arrows="0" data-show-dots="0" class="one two pagebuilder-slider" style="text-align: left; margin: 2px 3px 4px 1px; padding: 6px 7px 8px 5px;"><div data-element="main" data-role="slide" data-appearance="poster" class="one two" style="margin: 2px 3px 4px 1px;"><a data-element="link" href="http://domain.com/"><div data-element="mobile_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-only" style="text-align: left; margin: 2px 3px 4px 1px; padding: 6px 7px 8px 5px;"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent" style="padding: 6px 7px 8px 5px;"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div><button data-element="button" type="button" class="pagebuilder-slide-button pagebuilder-button-primary" style="opacity: 1; visibility: visible;">Domain</button></div></div></div><div data-element="desktop_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-hidden" style="text-align: left; margin: 2px 3px 4px 1px; padding: 6px 7px 8px 5px;"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent" style="padding: 6px 7px 8px 5px;"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div><button data-element="button" type="button" class="pagebuilder-slide-button pagebuilder-button-primary" style="opacity: 1; visibility: visible;">Domain</button></div></div></div></a></div></div></div></div>
1+
<div data-element="main" data-role="row" data-appearance="contained"><div data-element="inner"><div data-element="main" data-role="slider" data-appearance="default" data-autoplay="0" data-autoplay-speed="0" data-fade="0" data-is-infinite="0" data-show-arrows="0" data-show-dots="0" class="one two pagebuilder-slider" style="text-align: left; margin: 2px 3px 4px 1px; padding: 6px 7px 8px 5px;"><div data-element="main" data-role="slide" data-appearance="poster" class="one two" style="margin: 2px 3px 4px 1px;"><a data-element="link" href="http://domain.com/"><div data-element="mobile_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-only" style="text-align: left; margin: 2px 3px 4px 1px; padding: 6px 7px 8px 5px;"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent" style="padding: 6px 7px 8px 5px;"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div><button data-element="button" type="button" class="pagebuilder-slide-button pagebuilder-button-primary" style="opacity: 1; visibility: visible;">Domain</button></div></div></div><div data-element="desktop_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-hidden" style="text-align: left; margin: 2px 3px 4px 1px; padding: 6px 7px 8px 5px;"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent" style="padding: 6px 7px 8px 5px;"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div><button data-element="button" type="button" class="pagebuilder-slide-button pagebuilder-button-primary" style="opacity: 1; visibility: visible;">Domain</button></div></div></div></a></div></div></div></div>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<div data-element="wrapper" data-role="row" data-appearance="contained" class="row-contained"><div data-element="main"><div data-element="main" data-role="slider" data-appearance="default" data-autoplay="1" data-autoplay-speed="500" data-fade="0" data-is-infinite="0" data-show-arrows="1" data-show-dots="0" class="one two pagebuilder-slider"><div data-element="main" data-role="slide" data-appearance="poster" class="one two"><a data-element="link" href="http://domain.com/"><div data-element="mobile_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-only" style="background-image: url('{{media url=wysiwyg/m/a/magento.png}}');"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div><button data-element="button" type="button" class="pagebuilder-slide-button pagebuilder-button-primary" style="opacity: 1; visibility: visible;">Domain</button></div></div></div><div data-element="desktop_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-hidden" style="background-image: url('{{media url=wysiwyg/m/a/magento.png}}');"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div><button data-element="button" type="button" class="pagebuilder-slide-button pagebuilder-button-primary" style="opacity: 1; visibility: visible;">Domain</button></div></div></div></a></div></div></div></div>
1+
<div data-element="main" data-role="row" data-appearance="contained"><div data-element="inner"><div data-element="main" data-role="slider" data-appearance="default" data-autoplay="1" data-autoplay-speed="500" data-fade="0" data-is-infinite="0" data-show-arrows="1" data-show-dots="0" class="one two pagebuilder-slider"><div data-element="main" data-role="slide" data-appearance="poster" class="one two"><a data-element="link" href="http://domain.com/"><div data-element="mobile_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-only" style="background-image: url('{{media url=wysiwyg/m/a/magento.png}}');"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div><button data-element="button" type="button" class="pagebuilder-slide-button pagebuilder-button-primary" style="opacity: 1; visibility: visible;">Domain</button></div></div></div><div data-element="desktop_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-hidden" style="background-image: url('{{media url=wysiwyg/m/a/magento.png}}');"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div><button data-element="button" type="button" class="pagebuilder-slide-button pagebuilder-button-primary" style="opacity: 1; visibility: visible;">Domain</button></div></div></div></a></div></div></div></div>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<div data-element="wrapper" data-role="row" data-appearance="contained" class="row-contained"><div data-element="main"><div data-element="main" data-role="slider" data-appearance="default" data-autoplay="1" data-autoplay-speed="500" data-fade="0" data-is-infinite="0" data-show-arrows="1" data-show-dots="0" class="pagebuilder-slider"><div data-element="main" data-role="slide" data-appearance="poster"><a data-element="link" href="http://domain.com/"><div data-element="mobile_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-only"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div></div></div></div><div data-element="desktop_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-hidden"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div></div></div></div></a></div></div></div></div>
1+
<div data-element="main" data-role="row" data-appearance="contained"><div data-element="inner"><div data-element="main" data-role="slider" data-appearance="default" data-autoplay="1" data-autoplay-speed="500" data-fade="0" data-is-infinite="0" data-show-arrows="1" data-show-dots="0" class="pagebuilder-slider"><div data-element="main" data-role="slide" data-appearance="poster"><a data-element="link" href="http://domain.com/"><div data-element="mobile_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-only"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div></div></div></div><div data-element="desktop_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-hidden"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="transparent"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div></div></div></div></a></div></div></div></div>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<div data-element="wrapper" data-role="row" data-appearance="contained" class="row-contained"><div data-element="main"><div data-element="main" data-role="slider" data-appearance="default" data-autoplay="1" data-autoplay-speed="500" data-fade="0" data-is-infinite="0" data-show-arrows="1" data-show-dots="0" class="pagebuilder-slider"><div data-element="main" data-role="slide" data-appearance="poster"><a data-element="link" href="http://domain.com/"><div data-element="mobile_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-only"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="rgba(0,0,0,0.5)" style="background-color: rgba(0,0,0,0.5);"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div></div></div></div><div data-element="desktop_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-hidden"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="rgba(0,0,0,0.5)" style="background-color: rgba(0,0,0,0.5);"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div></div></div></div></a></div></div></div></div>
1+
<div data-element="main" data-role="row" data-appearance="contained"><div data-element="inner"><div data-element="main" data-role="slider" data-appearance="default" data-autoplay="1" data-autoplay-speed="500" data-fade="0" data-is-infinite="0" data-show-arrows="1" data-show-dots="0" class="pagebuilder-slider"><div data-element="main" data-role="slide" data-appearance="poster"><a data-element="link" href="http://domain.com/"><div data-element="mobile_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-only"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="rgba(0,0,0,0.5)" style="background-color: rgba(0,0,0,0.5);"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div></div></div></div><div data-element="desktop_image" class="pagebuilder-slide-wrapper pagebuilder-mobile-hidden"><div data-element="overlay" class="pagebuilder-overlay pagebuilder-poster-overlay" data-overlay-color="rgba(0,0,0,0.5)" style="background-color: rgba(0,0,0,0.5);"><div class="pagebuilder-poster-content"><div data-element="content"><h3>Slide title</h3><div><p>Slide <strong>content</strong></p></div></div></div></div></div></a></div></div></div></div>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<div data-element="wrapper" data-role="row" data-appearance="contained" class="row-contained"><div data-element="main"><div data-element="main" data-role="anchor" data-appearance="default" class="one two" id="anchor-identifier" style="text-align: left; margin: 2px 3px 4px 1px; padding: 6px 7px 8px 5px;"></div></div></div>
1+
<div data-element="main" data-role="row" data-appearance="contained"><div data-element="inner"><div data-element="main" data-role="anchor" data-appearance="default" class="one two" id="anchor-identifier" style="text-align: left; margin: 2px 3px 4px 1px; padding: 6px 7px 8px 5px;"></div></div></div>

0 commit comments

Comments
 (0)