1

最近の質問と回答 (これはうまく機能しています) の後、独自のテンプレートを作成しました。

 {% extends "bootstrap_3_layout.html.twig" %}
{% block choice_widget_collapsed -%}
    {% set attr = attr|merge({class: (attr.class|default('') ~ ' combobox input-large form-control')|trim}) %}
    {{- parent() -}}
{%- endblock %}

最初はのディレクトリの下にありました...

..\vendor\symfony\symfony\src\Symfony\Bridge\Twig\Resources\views\Form\form_combo_layout.html.twig

ただし、ブートストラップから拡張したようなテンプレートが他にもあるため、「コンボボックス」コンポーネントを元のブートストラップ テンプレートでオーバーライドしたくありませんでした。それらはまったく同じフォルダー パスを使用しているためです。

..\vendor\symfony\symfony\src\Symfony\Bridge\Twig\Resources\views\Form\"template name"

そして、私が呼び出していたときにconfig.ymlに問題はありませんでした...

twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
    form_themes: ['Form/form_errors.html.twig']
    form:                 
         resources: ['form_combo_layout.html.twig']

ただし、同様のコンポーネントをオーバーライドするため、「リソース」の下の別のファイルに入れました。

..\vendor\symfony\symfony\src\Symfony\Bridge\Twig\Resources\templates\form_combo_layout.html.twig

それに依存して、config.ymlのパスを次のように変更したかったのです...

twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
    form_themes: ['Form/form_errors.html.twig']
    form:
         resources: ['../Resources/templates/form_combo_layout.html.twig']

最後に...関連ページのlocalhostでエラーに直面しました...

Unable to find template "../Resources/templates/form_combo_layout.html.twig" in base.html.twig at line 23.
500 Internal Server Error - Twig_Error_Loader
1 linked Exception: RuntimeException »

ただし、ファイルパスとファイルは存在します。

ブルアイの助けをいただければ幸いです!!!!

PS:クックブックには、パラメーターを使用してインポートでパスを動的に構築することはできないと書かれています..

imports:
    - { resource: "%kernel.root_dir%/parameters.yml" }

これは間違っています

4

1 に答える 1