Create block placeholder
[MAILPOET-3638]
This commit is contained in:
@@ -331,6 +331,7 @@ class ContainerConfigurator implements IContainerConfigurator {
|
||||
$container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Footer::class);
|
||||
$container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Header::class);
|
||||
$container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Image::class);
|
||||
$container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Placeholder::class);
|
||||
$container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Renderer::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Social::class);
|
||||
$container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Spacer::class);
|
||||
|
26
lib/Newsletter/Renderer/Blocks/Placeholder.php
Normal file
26
lib/Newsletter/Renderer/Blocks/Placeholder.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php declare(strict_types = 1);
|
||||
|
||||
namespace MailPoet\Newsletter\Renderer\Blocks;
|
||||
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Placeholder {
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
public function __construct(WPFunctions $wp) {
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
public function render($element): string {
|
||||
$placeholder = $element['placeholder'];
|
||||
$class = $element['class'] ?? '';
|
||||
$style = $element['style'] ?? '';
|
||||
return '
|
||||
<tr>
|
||||
<td class="' . $this->wp->escAttr($class) . '" style="' . $this->wp->escAttr($style) . '">
|
||||
' . $this->wp->escHtml($placeholder) . '
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
@@ -34,6 +34,9 @@ class Renderer {
|
||||
/** @var Text */
|
||||
private $text;
|
||||
|
||||
/** @var Placeholder */
|
||||
private $placeholder;
|
||||
|
||||
public function __construct(
|
||||
AutomatedLatestContentBlock $ALC,
|
||||
Button $button,
|
||||
@@ -43,7 +46,8 @@ class Renderer {
|
||||
Image $image,
|
||||
Social $social,
|
||||
Spacer $spacer,
|
||||
Text $text
|
||||
Text $text,
|
||||
Placeholder $placeholder
|
||||
) {
|
||||
$this->ALC = $ALC;
|
||||
$this->button = $button;
|
||||
@@ -54,6 +58,7 @@ class Renderer {
|
||||
$this->social = $social;
|
||||
$this->spacer = $spacer;
|
||||
$this->text = $text;
|
||||
$this->placeholder = $placeholder;
|
||||
}
|
||||
|
||||
public function render(NewsletterEntity $newsletter, $data) {
|
||||
@@ -113,6 +118,8 @@ class Renderer {
|
||||
return $this->spacer->render($block);
|
||||
case 'text':
|
||||
return $this->text->render($block);
|
||||
case 'placeholder':
|
||||
return $this->placeholder->render($block);
|
||||
}
|
||||
return "<!-- Skipped unsupported block type: {$block['type']} -->";
|
||||
}
|
||||
|
Reference in New Issue
Block a user