Add language function to twig
[MAILPOET-3487]
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
namespace MailPoet\Config;
|
namespace MailPoet\Config;
|
||||||
|
|
||||||
use MailPoet\Twig;
|
use MailPoet\Twig;
|
||||||
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
use MailPoetVendor\Twig\Extension\DebugExtension;
|
use MailPoetVendor\Twig\Extension\DebugExtension;
|
||||||
use MailPoetVendor\Twig\Lexer as TwigLexer;
|
use MailPoetVendor\Twig\Lexer as TwigLexer;
|
||||||
use MailPoetVendor\Twig\Loader\FilesystemLoader as TwigFileSystem;
|
use MailPoetVendor\Twig\Loader\FilesystemLoader as TwigFileSystem;
|
||||||
@@ -78,7 +79,8 @@ class Renderer {
|
|||||||
'assets_url' => Env::$assetsUrl,
|
'assets_url' => Env::$assetsUrl,
|
||||||
'assets_manifest_js' => $this->assetsManifestJs,
|
'assets_manifest_js' => $this->assetsManifestJs,
|
||||||
'assets_manifest_css' => $this->assetsManifestCss,
|
'assets_manifest_css' => $this->assetsManifestCss,
|
||||||
]));
|
],
|
||||||
|
WPFunctions::get()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setupSyntax() {
|
public function setupSyntax() {
|
||||||
|
@@ -12,14 +12,19 @@ use MailPoetVendor\Twig\TwigFunction;
|
|||||||
class Assets extends AbstractExtension {
|
class Assets extends AbstractExtension {
|
||||||
private $globals;
|
private $globals;
|
||||||
|
|
||||||
|
/** @var WPFunctions */
|
||||||
|
private $wp;
|
||||||
|
|
||||||
/** @var CdnAssetUrl|null */
|
/** @var CdnAssetUrl|null */
|
||||||
private $cdnAssetsUrl;
|
private $cdnAssetsUrl;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
array $globals,
|
array $globals,
|
||||||
|
WPFunctions $wp,
|
||||||
CdnAssetUrl $cdnAssetsUrl = null
|
CdnAssetUrl $cdnAssetsUrl = null
|
||||||
) {
|
) {
|
||||||
$this->globals = $globals;
|
$this->globals = $globals;
|
||||||
|
$this->wp = $wp;
|
||||||
$this->cdnAssetsUrl = $cdnAssetsUrl;
|
$this->cdnAssetsUrl = $cdnAssetsUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,6 +55,11 @@ class Assets extends AbstractExtension {
|
|||||||
[$this, 'generateCdnUrl'],
|
[$this, 'generateCdnUrl'],
|
||||||
['is_safe' => ['all']]
|
['is_safe' => ['all']]
|
||||||
),
|
),
|
||||||
|
new TwigFunction(
|
||||||
|
'language',
|
||||||
|
[$this, 'language'],
|
||||||
|
['is_safe' => ['all']]
|
||||||
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,6 +78,10 @@ class Assets extends AbstractExtension {
|
|||||||
return join("\n", $output);
|
return join("\n", $output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function language() {
|
||||||
|
return $this->wp->getBlogInfo('language');
|
||||||
|
}
|
||||||
|
|
||||||
public function generateJavascript() {
|
public function generateJavascript() {
|
||||||
$scripts = func_get_args();
|
$scripts = func_get_args();
|
||||||
$output = [];
|
$output = [];
|
||||||
|
@@ -5,6 +5,7 @@ namespace MailPoet\Test\Twig;
|
|||||||
use MailPoet\Config\Env;
|
use MailPoet\Config\Env;
|
||||||
use MailPoet\Twig\Assets;
|
use MailPoet\Twig\Assets;
|
||||||
use MailPoet\Util\CdnAssetUrl;
|
use MailPoet\Util\CdnAssetUrl;
|
||||||
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
class AssetsTest extends \MailPoetTest {
|
class AssetsTest extends \MailPoetTest {
|
||||||
public $assetsExtension;
|
public $assetsExtension;
|
||||||
@@ -22,6 +23,7 @@ class AssetsTest extends \MailPoetTest {
|
|||||||
'assets_manifest_css' => false,
|
'assets_manifest_css' => false,
|
||||||
'version' => $this->version,
|
'version' => $this->version,
|
||||||
],
|
],
|
||||||
|
WPFunctions::get(),
|
||||||
new CdnAssetUrl('')
|
new CdnAssetUrl('')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -38,6 +40,7 @@ class AssetsTest extends \MailPoetTest {
|
|||||||
'assets_manifest_js' => $manifest,
|
'assets_manifest_js' => $manifest,
|
||||||
'version' => $this->version,
|
'version' => $this->version,
|
||||||
],
|
],
|
||||||
|
WPFunctions::get(),
|
||||||
new CdnAssetUrl('')
|
new CdnAssetUrl('')
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -76,6 +79,7 @@ class AssetsTest extends \MailPoetTest {
|
|||||||
'assets_manifest_css' => $manifest,
|
'assets_manifest_css' => $manifest,
|
||||||
'version' => $this->version,
|
'version' => $this->version,
|
||||||
],
|
],
|
||||||
|
WPFunctions::get(),
|
||||||
new CdnAssetUrl('')
|
new CdnAssetUrl('')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user