У меня большая проблема, и я не понимаю, как ее решить.
Итак, у меня есть класс для помощника:
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}}
Это отлично работает. Не могли бы вы мне помочь ? Спасибо заранее и извините за мой английский
Я обнаружил ошибку, необходимо сделать визуализацию Supplimentaire после вызова помощника
return ($context->get($parsed_args[0]) == $context->get($parsed_args[2])) ? $template->render($context) : false;
Других решений пока нет …