Add One column pattern

[MAILPOET-6334]
This commit is contained in:
Rostislav Wolny
2024-12-18 11:25:16 +01:00
committed by Aschepikov
parent 106d22448f
commit 1c0ace86af
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,41 @@
<?php declare(strict_types = 1);
namespace MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Library;
use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Pattern;
class OneColumn extends Pattern {
protected $name = '1-column-content';
protected $block_types = ['core/post-content']; // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
protected $template_types = ['email-template']; // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
protected $categories = ['email-contents'];
protected function get_content(): string { // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
return '
<!-- wp:group {"style":{"spacing":{"padding":{"right":"var:preset|spacing|20","left":"var:preset|spacing|20"}}},"layout":{"type":"constrained"}} -->
<div class="wp-block-group" style="padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)"><!-- wp:heading {"fontSize":"large"} -->
<h2 class="wp-block-heading has-large-font-size">1 column layout</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>A one-column layout is great for simplified and concise content, like announcements or newsletters with brief updates. Drag blocks to add content and customize your styles from the styles panel on the top right.</p>
<!-- /wp:paragraph -->
<!-- wp:image -->
<figure class="wp-block-image"><img alt=""/></figure>
<!-- /wp:image -->
<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button">Add button text</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons --></div>
<!-- /wp:group -->
';
}
protected function get_title(): string { // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
/* translators: Name of a content pattern used as starting content of an email */
return __('1 Column', 'mailpoet');
}
}

View File

@ -4,6 +4,7 @@ namespace MailPoet\EmailEditor\Integrations\MailPoet\Patterns;
use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Library\DefaultContent; use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Library\DefaultContent;
use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Library\DefaultContentFull; use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Library\DefaultContentFull;
use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Library\OneColumn;
use MailPoet\Util\CdnAssetUrl; use MailPoet\Util\CdnAssetUrl;
class PatternsController { class PatternsController {
@ -19,6 +20,7 @@ class PatternsController {
$patterns = []; $patterns = [];
$patterns[] = new DefaultContentFull($this->cdnAssetUrl); $patterns[] = new DefaultContentFull($this->cdnAssetUrl);
$patterns[] = new DefaultContent($this->cdnAssetUrl); $patterns[] = new DefaultContent($this->cdnAssetUrl);
$patterns[] = new OneColumn($this->cdnAssetUrl);
foreach ($patterns as $pattern) { foreach ($patterns as $pattern) {
register_block_pattern($pattern->get_namespace() . '/' . $pattern->get_name(), $pattern->get_properties()); register_block_pattern($pattern->get_namespace() . '/' . $pattern->get_name(), $pattern->get_properties());
} }