1

次のテンプレートを使用して特定のウィジェットを拡張しています

{% use 'SonataAdminBundle:Form:form_admin_fields.html.twig' %}
{% form_theme form _self %}
{% block textarea_widget %}
  {% spaceless %}
  <div class="textarea_widget">
    <textarea {{ block('widget_attributes') }}>{{ value|raw }}   
    </textarea>
  </div>
  {% endspaceless %}
{% endblock textarea_widget %}

主な問題は、関数のネストが最大に達していることです。テンプレートを拡張するときは、無限再帰が必要です。拡張テンプレートからコードをコピーすると、すべてが機能します。これを機能させる方法はありますか?

4

2 に答える 2

3

これはおそらく、パラメーターを使用して構成する必要があるxDebugが原因ですxdebug.max_nesting_level。デフォルトは100ですが、静かにするために通常は1000にアップグレードします。

Debianでは、にあり/etc/php5/conf.d/xdebug.iniます。

このパラメータに関する公式ドキュメント:

xdebug.max_nesting_levelタイプ:整数、デフォルト値:100

無限再帰保護の保護メカニズムを制御します。この設定の値は、スクリプトが中止される前に許可されるネストされた関数の最大レベルです。

于 2012-08-14T14:33:36.667 に答える
0

このエラーを修正するには、次の内容で app/Resources/SonataAdmin/views/Form に form_admin_fields.html.twig ファイルを作成する必要がありました:

    {% block textarea_widget %}
    {% spaceless %}
    <div class="textarea_widget">
        <textarea {{ block('widget_attributes') }}>{{ value|raw }}   </textarea>
    </div>
    {% endspaceless %}
    {% endblock %}

したがって、テンプレートを使用または拡張する必要はなく、一部のブロックを再定義するだけです。

于 2012-08-21T12:46:21.620 に答える