handlebars.js — создание помощника для руля рендера с использованием переполнения стека

У меня большая проблема, и я не понимаю, как ее решить.
Итак, у меня есть класс для помощника:

class IfCondHelper implements HelperInterface
{
public function execute(Template $template, HandlebarsContent $context, $args, $source)
{
$parsed_args = $template->parseArguments($args);

if (count($parsed_args) != 3) {
throw new \InvalidArgumentException(
'"IfCond" helper expects exactly three arguments.'
);
}

switch ($context->get($parsed_args[1])) {
case "==":
return ($context->get($parsed_args[0]) == $context->get($parsed_args[2])) ? $source : false;
break;
..............
}
}

Теперь в моем шаблоне я делаю:

{{#ifCond 2 '==' 2}} {{data.oUser.number}} {{/ifCond}}

Проблема в том, что шаблон не показывает значение data.oUser.number 4, но покажи код data.oUser.number без толкования их. Помощник работает нормально, потому что если я делаю:

{{#ifCond 2 '==' 2}} <p>Test</p> {{/ifCond}}

Это отлично работает. Не могли бы вы мне помочь ? Спасибо заранее и извините за мой английский

0

Решение

Я обнаружил ошибку, необходимо сделать визуализацию Supplimentaire после вызова помощника

return ($context->get($parsed_args[0]) == $context->get($parsed_args[2])) ? $template->render($context) : false;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]