Register default patterns to the email editor via hooks

[MAILPOET-6243]
This commit is contained in:
Rostislav Wolny
2024-11-14 16:49:59 +01:00
committed by Oluwaseun Olorunsola
parent 2409b5c8a1
commit a3f292f74e
3 changed files with 50 additions and 2 deletions

View File

@ -0,0 +1,41 @@
<?php declare(strict_types = 1);
namespace MailPoet\EmailEditor\Integrations\MailPoet\Patterns;
use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Library\DefaultContent;
use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Library\DefaultContentFull;
use MailPoet\Util\CdnAssetUrl;
use MailPoet\WP\Functions as WPFunctions;
class PatternsController {
private CdnAssetUrl $cdnAssetUrl;
private WPFunctions $wp;
public function __construct(
CdnAssetUrl $cdnAssetUrl,
WPFunctions $wpFunctions
) {
$this->cdnAssetUrl = $cdnAssetUrl;
$this->wp = $wpFunctions;
}
public function initialize(): void {
$this->wp->addFilter('mailpoet_block_pattern_categories', [$this, 'registerCategories']);
$this->wp->addFilter('mailpoet_block_patterns', [$this, 'registerPatterns']);
}
public function registerCategories(array $categories): array {
$categories[] = [
'name' => 'mailpoet',
'label' => _x('MailPoet', 'Block pattern category', 'mailpoet'),
'description' => __('A collection of email template layouts.', 'mailpoet'),
];
return $categories;
}
public function registerPatterns($patterns): array {
$patterns[] = new DefaultContentFull($this->cdnAssetUrl);
$patterns[] = new DefaultContent($this->cdnAssetUrl);
return $patterns;
}
}