function TwigTransTokenParser::checkTransString

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Template/TwigTransTokenParser.php \Drupal\Core\Template\TwigTransTokenParser::checkTransString()
  2. 8.9.x core/lib/Drupal/Core/Template/TwigTransTokenParser.php \Drupal\Core\Template\TwigTransTokenParser::checkTransString()
  3. 10 core/lib/Drupal/Core/Template/TwigTransTokenParser.php \Drupal\Core\Template\TwigTransTokenParser::checkTransString()

Ensure that any nodes that are parsed are only of allowed types.

Parameters

\Twig\Node\Node $body: The expression to check.

int $lineno: The source line.

Throws

\Twig\Error\SyntaxError

1 call to TwigTransTokenParser::checkTransString()
TwigTransTokenParser::parse in core/lib/Drupal/Core/Template/TwigTransTokenParser.php

File

core/lib/Drupal/Core/Template/TwigTransTokenParser.php, line 95

Class

TwigTransTokenParser
A class that defines the Twig 'trans' token parser for Drupal.

Namespace

Drupal\Core\Template

Code

protected function checkTransString(Node $body, $lineno) {
    foreach ($body as $node) {
        if ($node instanceof TextNode || $node instanceof PrintNode && $node->getNode('expr') instanceof NameExpression || $node instanceof PrintNode && $node->getNode('expr') instanceof GetAttrExpression || $node instanceof PrintNode && $node->getNode('expr') instanceof FilterExpression) {
            continue;
        }
        throw new SyntaxError(sprintf('The text to be translated with "trans" can only contain references to simple variables'), $lineno);
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.