mirror of
https://github.com/getgrav/grav.git
synced 2026-07-13 11:03:47 +02:00
Add a string Twig function that renders arrays as json_encoded strings, and just outputs other values (used by the form plugin)
This commit is contained in:
@@ -84,6 +84,7 @@ class TwigExtension extends \Twig_Extension
|
||||
new \Twig_SimpleFunction('gist', [$this, 'gistFunc']),
|
||||
new \Twig_simpleFunction('random_string', [$this, 'randomStringFunc']),
|
||||
new \Twig_SimpleFunction('array', [$this, 'arrayFunc']),
|
||||
new \Twig_SimpleFunction('string', [$this, 'stringFunc']),
|
||||
new \Twig_simpleFunction('t', [$this, 'translate']),
|
||||
new \Twig_simpleFunction('ta', [$this, 'translateArray'])
|
||||
];
|
||||
@@ -414,7 +415,7 @@ class TwigExtension extends \Twig_Extension
|
||||
|
||||
public function translate()
|
||||
{
|
||||
return $this->grav['language']->translate(func_get_args());
|
||||
return $this->grav['language']->translate(func_get_args());
|
||||
}
|
||||
|
||||
public function translateArray($key, $index, $lang = null)
|
||||
@@ -531,6 +532,15 @@ class TwigExtension extends \Twig_Extension
|
||||
return (array) $value;
|
||||
}
|
||||
|
||||
public function stringFunc($value)
|
||||
{
|
||||
if (is_array($value)) { //format the array as a string
|
||||
return json_encode($value);
|
||||
} else {
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
||||
public function translateFunc()
|
||||
{
|
||||
return $this->grav['language']->translate(func_get_args());
|
||||
|
||||
Reference in New Issue
Block a user