Add language function to twig

[MAILPOET-3487]
This commit is contained in:
David Remer
2022-11-30 14:43:06 +02:00
committed by Aschepikov
parent 5e71d94b62
commit 7b584dd482
3 changed files with 21 additions and 1 deletions

View File

@@ -3,6 +3,7 @@
namespace MailPoet\Config;
use MailPoet\Twig;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Twig\Extension\DebugExtension;
use MailPoetVendor\Twig\Lexer as TwigLexer;
use MailPoetVendor\Twig\Loader\FilesystemLoader as TwigFileSystem;
@@ -78,7 +79,8 @@ class Renderer {
'assets_url' => Env::$assetsUrl,
'assets_manifest_js' => $this->assetsManifestJs,
'assets_manifest_css' => $this->assetsManifestCss,
]));
],
WPFunctions::get()));
}
public function setupSyntax() {

View File

@@ -12,14 +12,19 @@ use MailPoetVendor\Twig\TwigFunction;
class Assets extends AbstractExtension {
private $globals;
/** @var WPFunctions */
private $wp;
/** @var CdnAssetUrl|null */
private $cdnAssetsUrl;
public function __construct(
array $globals,
WPFunctions $wp,
CdnAssetUrl $cdnAssetsUrl = null
) {
$this->globals = $globals;
$this->wp = $wp;
$this->cdnAssetsUrl = $cdnAssetsUrl;
}
@@ -50,6 +55,11 @@ class Assets extends AbstractExtension {
[$this, 'generateCdnUrl'],
['is_safe' => ['all']]
),
new TwigFunction(
'language',
[$this, 'language'],
['is_safe' => ['all']]
),
];
}
@@ -68,6 +78,10 @@ class Assets extends AbstractExtension {
return join("\n", $output);
}
public function language() {
return $this->wp->getBlogInfo('language');
}
public function generateJavascript() {
$scripts = func_get_args();
$output = [];

View File

@@ -5,6 +5,7 @@ namespace MailPoet\Test\Twig;
use MailPoet\Config\Env;
use MailPoet\Twig\Assets;
use MailPoet\Util\CdnAssetUrl;
use MailPoet\WP\Functions as WPFunctions;
class AssetsTest extends \MailPoetTest {
public $assetsExtension;
@@ -22,6 +23,7 @@ class AssetsTest extends \MailPoetTest {
'assets_manifest_css' => false,
'version' => $this->version,
],
WPFunctions::get(),
new CdnAssetUrl('')
);
}
@@ -38,6 +40,7 @@ class AssetsTest extends \MailPoetTest {
'assets_manifest_js' => $manifest,
'version' => $this->version,
],
WPFunctions::get(),
new CdnAssetUrl('')
);
@@ -76,6 +79,7 @@ class AssetsTest extends \MailPoetTest {
'assets_manifest_css' => $manifest,
'version' => $this->version,
],
WPFunctions::get(),
new CdnAssetUrl('')
);