- Removes mailpoet_padded class from the last element in a column

This commit is contained in:
Vlad
2016-03-03 19:05:59 -05:00
parent 85995bc8a6
commit 263a66407f
5 changed files with 29 additions and 4 deletions

View File

@@ -19,7 +19,7 @@ class Footer {
} }
$template = ' $template = '
<tr> <tr>
<td class="mailpoet_padded_header_footer mailpoet_footer" bgcolor="' . $element['styles']['block']['backgroundColor'] . '" <td class="mailpoet_header_footer_padded mailpoet_footer" bgcolor="' . $element['styles']['block']['backgroundColor'] . '"
style="' . StylesHelper::getBlockStyles($element) . StylesHelper::getStyles($element['styles'], 'text') . '"> style="' . StylesHelper::getBlockStyles($element) . StylesHelper::getStyles($element['styles'], 'text') . '">
' . $DOM->html() . ' ' . $DOM->html() . '
</td> </td>

View File

@@ -19,7 +19,7 @@ class Header {
} }
$template = ' $template = '
<tr> <tr>
<td class="mailpoet_padded_header_footer mailpoet_header" bgcolor="' . $element['styles']['block']['backgroundColor'] . '" <td class="mailpoet_header_footer_padded mailpoet_header" bgcolor="' . $element['styles']['block']['backgroundColor'] . '"
style="' . StylesHelper::getBlockStyles($element) . StylesHelper::getStyles($element['styles'], 'text') . '"> style="' . StylesHelper::getBlockStyles($element) . StylesHelper::getStyles($element['styles'], 'text') . '">
' . $DOM->html() . ' ' . $DOM->html() . '
</td> </td>

View File

@@ -10,7 +10,8 @@ class Renderer {
$template = ($columns_count === 1) ? $template = ($columns_count === 1) ?
$this->getOneColumnTemplate($styles, $class) : $this->getOneColumnTemplate($styles, $class) :
$this->getMultipleColumnsTemplate($styles, $width, $alignment, $class); $this->getMultipleColumnsTemplate($styles, $width, $alignment, $class);
$result = array_map(function ($content) use ($template) { $result = array_map(function($content) use ($template) {
$content = self::removePaddingFromLastElement($content);
return $template['content_start'] . $content . $template['content_end']; return $template['content_start'] . $content . $template['content_end'];
}, $columns_data); }, $columns_data);
$result = implode('', $result); $result = implode('', $result);
@@ -75,4 +76,8 @@ class Renderer {
</tr>'; </tr>';
return $template; return $template;
} }
function removePaddingFromLastElement($element) {
return preg_replace('/mailpoet_padded(?!.*mailpoet_padded)/ism', '', $element);
}
} }

View File

@@ -40,7 +40,7 @@
padding-right: 20px; padding-right: 20px;
padding-bottom: 20px; padding-bottom: 20px;
} }
.mailpoet_padded_header_footer { .mailpoet_header_footer_padded {
padding: 10px 20px; padding: 10px 20px;
} }
@media screen and (max-width: 599px) and (-webkit-min-device-pixel-ratio: 1) { @media screen and (max-width: 599px) and (-webkit-min-device-pixel-ratio: 1) {

View File

@@ -105,6 +105,26 @@ class NewsletterRendererCest {
expect($rendered_column_content)->equals($column_content); expect($rendered_column_content)->equals($column_content);
} }
function itRemovesPaddingFromLastColumnElement() {
$column_content = array('
<tr><td class="mailpoet_padded"></td></tr>
<tr><td class="mailpoet_padded"></td></tr>
<tr><td class="mailpoet_padded"></td></tr>
<tr><td class="mailpoet_padded"></td></tr>'
);
$column_styles = array(
'block' => array(
'backgroundColor' => "#999999"
)
);
$rendered_column_content = $this->column_renderer->render(
$column_styles,
count($column_content),
$column_content
);
expect(substr_count($rendered_column_content, 'mailpoet_padded'))->equals(3);
}
function itRendersHeader() { function itRendersHeader() {
$newsletter = json_decode($this->newsletter['body'], true); $newsletter = json_decode($this->newsletter['body'], true);
$template = $newsletter['content']['blocks'][0]['blocks'][0]['blocks'][0]; $template = $newsletter['content']['blocks'][0]['blocks'][0]['blocks'][0];