2017-10-30 16 views
0

"twig/twig""v2.4.4"に更新した後、マクロ関数を呼び出すときにエラーが発生しました。文字列変数のメソッドを呼び出すことができません

Impossible to invoke a method ("widget_prototype") on a string variable (":ERP/timesheets:_form_part.html.twig"). 

マイマクロ:

{% macro widget_prototype(widget, remove_text) %} 
{% if widget.vars.prototype is defined %} 
    {% set form = widget.vars.prototype %} 
    {% set name = widget.vars.prototype.vars.name %} 
{% else %} 
    {% set form = widget %} 
    {% set name = widget.vars.full_name %} 
{% endif %} 

マクロ一部を呼び出す:

{% include ':ERP/timesheets:_data_content_supply_from_widget.html.twig' with {form:form, name:name} %} 

{% endmacro %} 

      <div id="post_supplies" 
      data-prototype="{{ _self.widget_prototype(form.supplies, 'remove'|trans({}, 'common'))|escape }}" 
      style="margin-bottom: 5px"> 
      {% for widget in form.supplies.children %} 
       {{ _self.widget_prototype(widget, 'remove'|trans({}, 'common')) }} 
      {% endfor %} 
     </div> 

正しくマクロを呼び出すには? _selfなしで呼び出してみました、私はエラーがあります:あなたがマクロをインポートする必要がUnknown "widget_prototype" function.

答えて

1

を、それを含まない

{% import "my_macro.twig" as my_macro %} 
{{ my_macro.function(arg1) }} 
関連する問題