我无法在我的枝条扩展中传递正确的数据
示例令牌解析器parse
函数:
public function parse(\Twig_Token $token)
{
$parser = $this->parser;
$stream = $parser->getStream();
$firstVariable = $stream->getCurrent();
}
表达式{% myTag "someString" %}
会将$firstVariable
设置为' someString'。
但是,如果我们设置一个变量:
{% set someVariable = "someString" %}
{% myTag someVariable %}
您最终得到的名称类型为' someVariable'而不是预期的变量值' someString'
如何正确解析自定义twig标记的第一个参数,允许输入为字符串或包含字符串的变量?
修改
看起来您可以使用变量名称并在返回的树枝节点中使用它。
public function compile(){
$compiler->write('echo "$context[$variableName]"');
}
但我需要在编译之前访问它。
修改 我不再相信在编译之前可以访问上下文。除非任何人有更多信息要分享这个主题,否则将这个问题视为一个小问题