diff --git a/lib/DI/ContainerConfigurator.php b/lib/DI/ContainerConfigurator.php index 6b50c15d1d..caf01a0e04 100644 --- a/lib/DI/ContainerConfigurator.php +++ b/lib/DI/ContainerConfigurator.php @@ -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); diff --git a/lib/Newsletter/Renderer/Blocks/Placeholder.php b/lib/Newsletter/Renderer/Blocks/Placeholder.php new file mode 100644 index 0000000000..e774f5da19 --- /dev/null +++ b/lib/Newsletter/Renderer/Blocks/Placeholder.php @@ -0,0 +1,26 @@ +wp = $wp; + } + + public function render($element): string { + $placeholder = $element['placeholder']; + $class = $element['class'] ?? ''; + $style = $element['style'] ?? ''; + return ' + + + ' . $this->wp->escHtml($placeholder) . ' + + '; + } +} diff --git a/lib/Newsletter/Renderer/Blocks/Renderer.php b/lib/Newsletter/Renderer/Blocks/Renderer.php index d855af57b5..a2aa88ed3d 100644 --- a/lib/Newsletter/Renderer/Blocks/Renderer.php +++ b/lib/Newsletter/Renderer/Blocks/Renderer.php @@ -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 ""; }