0

私は Symfony 2 を初めて使用します。他のカスタム フォーム フィールドを追加しようとしています。

私が使用しているバンドルは次のように作成されています。

src/TheClient/
`-- Bundle
    |-- MyBundle
    |   |-- Controller
    |   |-- DependencyInjection
    |   |-- Entity
    |   |-- Form
    |   |-- Repository
    |   |-- Resources
    |   `-- Tests
    `-- OtherNotImportantBundle
        |-- Command
        |-- Controller
        |-- DependencyInjection
        |-- Entity
        |-- Resources
        |-- Services
        `-- Tests

src/TheClient/Bundle/MyBundle/Resources/views/Form/fields.html.twig次のようなコードがあるファイルを作成しました。

{% block form_row %}
    <div class="control-group">
        {{ form_label(form) }}
        {{ form_errors(form) }}
        {{ form_widget(form) }}
    </div>
{% endblock %}

{% block text_widget %}
    <div class="text_widget controls">
        {% set type = type|default('text') %}
        {{ block('form_widget_simple') }}
    </div>
{% endblock %}

短くするために、元の形式のリソースをオーバーライドしてdiv's で囲みます。今、私がやるべきことは、app/config/config.yml次のように新しいフォームフィールドを編集して正確にすることです:

# Twig Configuration
twig:
    debug:            %kernel.debug%
    strict_variables: %kernel.debug%
    globals:
      sso_host: %sso_host%
      root_url: %root_url%
    form:
        resources:
            - 'TheClientMyBundle:Form:fields.html.twig'
#            - 'MyBundle:Form:fields.html.twig'

両方のソリューションを試しましたが、うまくいきません。エラー 500 が表示されます。

正確に言うのを忘れました: Symfony のウェブサイト自体からこのチュートリアルに従おうとしています。

どうもありがとうございました

4

1 に答える 1

1

エラーメッセージとは?" Unable to find template..."?

リソース名はMyBundleName:Form:fields.html.twig

ファイルMyBundleName内に追加されたバンドルの名前はどこにありますかAppKernel.php

たとえば、Symfony\Bundle\FrameworkBundle\FrameworkBundle()バンドル名はFrameworkBundle.

于 2013-01-23T12:22:12.030 に答える