[英]Symfony Twig Error: Unknown “^macro_name^” function. Did you mean “^similar_function_name^”?
I have made the following twig extention: 我做了以下的小树枝扩展:
class MyExtentions extends \Twig_Extension
{
public function getFunctions()
{
return array(
new \Twig_SimpleFunction('simiral_function_name', array($this, 'someFunction'),array('needs_environment' => true)),
);
}
public function someFunction($url)
{
$url=parse_url($url,PHP_URL_PATH);
$url=explode('/',$url);
$params="";
foreach($item as $key=> $url){
$params.="_".$item;
}
return $params;
}
}
And over my Twig Template I did the following macro: 在我的Twig模板上,我做了以下宏:
{% macro macro_name(url) %}
{{ path('route_name',{'chunk':simiral_function_name(url)}) }}
{% endmacro macro_name %}
But when over my template I access it eg: 但是当我在模板上访问时,例如:
<a href="{{macro_name("http://example.com/path/files/somefile")}}"></a>
I get the following error: 我收到以下错误:
Unknown "macro_name" function. Did you mean "similar_function_name"?
Just when you want to use the template do as described there : 只要您想使用模板,请按照此处所述进行操作:
{% import _self as macro_template %}
Afterwards you can use it as: 之后,您可以将其用作:
<a href="{{macro_template.macro_name("http://example.com/path/files/somefile")}}"></a>
In place of macro_template
you can put whatever you want. 可以代替
macro_template
放置任何您想要的东西。
instead of {% endmacro article_route %} change to {% endmacro macro_name %} 代替{%endmacro article_route%}更改为{%endmacro macro_name%}
{% macro macro_name(url) %}
{{ path('route_name',{'chunk':simiral_function_name(url)}) }}
{% endmacro macro_name %}
more details Named Macro End-Tags 更多详细信息命名宏结束标签
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.