独自のテンプレートウィッヒはSonataAdminBundleを拡張してください:CRUD:base_edit.html.twigとどちらかあなたの管理者クラスの$templates
プロパティをオーバーライドするか、そのようなあなたの管理サービスの宣言でそれを渡します
librinfo_crm.admin.organism:
class: Librinfo\CRMBundle\Admin\OrganismAdmin
arguments: [~, Librinfo\CRMBundle\Entity\Organism, LibrinfoCRMBundle:OrganismAdmin]
tags:
- name: sonata.admin
manager_type: orm
group: Customers Relationship Management
label: librinfo.crm.organism_admin.label
label_translator_strategy: blast_core.label.strategy.librinfo
calls:
- [ setTemplate, [edit, LibrinfoCRMBundle:OrganismAdmin:edit.html.twig]] #set a custom edit template
- [ setTemplate, [show, LibrinfoCRMBundle:OrganismAdmin:show.html.twig]] #sets a custom show template
カスタムテンプレートは、例えば、デフォルトのソナタのテンプレートを上書きする必要があります。
{% extends 'SonataAdminBundle:CRUD:base_edit.html.twig' %}
{% block form %}
{# your custom code #}
{% endblock %}
あなたはウィッヒBLOがわからない場合ckまたは拡張するテンプレートをカスタマイズする(リスト、編集、表示する)が、おそらくそれらのすべてを表示するように指示します。そして、あなたがしたいフィールドまたはあなたが特定の変数
をダンプするプロファイラや
{% dump(myVar) %}
にテンプレートのすべての変数をダンプする
{% dump %}
を使用することができます何かを取得するための
編集
base_template
は、テンプレートの名前を含むコントローラから渡される変数です。
これらのテンプレートはすべて最終的にコントローラから渡された のbase_template変数を拡張しています。この 変数は、常に上記の グローバルテンプレートのいずれかの値をとります。これは、これらのファイルに対する変更が すべてのSonataAdminBundleインターフェイスにどのように影響するかです。
https://sonata-project.org/bundles/admin/master/doc/reference/templates.html#crudcontroller-actions-templates
あなたがbase_template
変数をダンプする場合は、ウィッヒテンプレートが拡張されて知っていますよ。
parentForm
ブロックはちょうど上記の一見のために:CRUD:base_edit_form.html
{% use 'SonataAdminBundle:CRUD:base_edit_form.html.twig' with form as parentForm %}
この行はSonataAdminBundleをインポートします。ブロックform
ブロックには、別名parentForm
があります。
したがって{{ block('parentForm') }}
は、SonataAdminBundleからform
ブロックをレンダリングするための呼び出しです。CRUD:base_edit_form.html.twig。
私が理解していない完全な例... base_editはbase_templateを継承しています... base_templateテンプレートはどこですか? block_formでは、 'parent_form'だけが呼び出され、フルテキスト検索でもテンプレートを見つけることができません。 –
私の編集した回答を参照してください – Mawcel
ありがとうございました。 –