Refactors Newsletters as per @badshark's comments

This commit is contained in:
MrCasual
2015-09-21 13:18:01 -04:00
parent 692e69d567
commit 01b5416882
23 changed files with 462 additions and 413 deletions

View File

@ -0,0 +1,25 @@
<?php namespace MailPoet\Newsletter\Renderer\Blocks;
class Renderer {
function render($data, $column = null) {
array_map(function ($block) use (&$blockContent, &$columns) {
$blockContent .= $this->createElementFromBlockType($block);
if(isset($block['blocks'])) {
$blockContent = $this->render($block);
}
// vertical orientation denotes column container
if($block['type'] === 'container' && $block['orientation'] === 'vertical') {
$columns[] = $blockContent;
}
}, $data['blocks']);
return (isset($columns)) ? $columns : $blockContent;
}
function createElementFromBlockType($block) {
$blockClass = __NAMESPACE__ . '\\' . ucfirst($block['type']);
return (class_exists($blockClass)) ? $blockClass::render($block) : '';
}
}