我想从奏鸣曲管理软件包中自定义编辑页面中表单字段的呈现包含一个使用字段文本内容的小程序。
我知道我必须编辑 configureFormFields 在admin类中的函数,但我需要知道3件事:
我所做的是:
创建一个字段类型,可以在myCompany中将其称为myfieldType \myBundle\Form\Type\\ \\ myfieldType.php
namespace myCompany \myBundle\Form\Type; 使用Symfony \Component\Form\AbstractType; 使用Symfony \Component\Form\FormBuilder; class myfieldType extends AbstractType { public function getParent() { return'text'; } public function getName() { return'myfield'; $ / code $ 注册类型在app / config / services.yml myCompany.myBundle.form.type.myfield: class:myCompany\myBundle\Form \Type\myfieldType tags: - {name:form.type,别名:myfield}
在我的myentityAdmin类中,
protected function configureFormFields(FormMapper $ formMapper) { $ formMapper - > add('myfieldname','myfield') ... } pre>和
public function getFormTheme(){返回数组('myCompanymyBundle:Admin:myfield_edit.html.twig'); }和模板:
{#src / mycompany / myBundle / Resources / views / Form / myfield_edit.html.twig#} {%block myfield_widget%} {%spaceless %} {{block('textarea_widget')}} {%endspaceless%} {%endblock%} $ p $现在我可以通过树枝变量value访问表单字段值!
这么容易......当你得到它。
I would like to customize the rendering of a form field in the edit page from sonata admin bundle to include an applet that uses the text content of a field.
I know that I have to edit the configureFormFields function in the admin class, but I need to know 3 things:
- What is the syntax to provide a field form template
- Where to put the template file ( which directory )
- What the template have to looks like.
Found a solution
What i have done is:
Created a field type, lets call it myfieldType in myCompany\myBundle\Form\Type\myfieldType.php
namespace myCompany\myBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilder; class myfieldType extends AbstractType { public function getParent() { return 'text'; } public function getName() { return 'myfield'; } }Registered the Type in app/config/services.yml
myCompany.myBundle.form.type.myfield: class: myCompany\myBundle\Form\Type\myfieldType tags: - { name: form.type, alias: myfield }In my myentityAdmin class,
protected function configureFormFields(FormMapper $formMapper) { $formMapper ->add('myfieldname', 'myfield') ... }and
public function getFormTheme() { return array('myCompanymyBundle:Admin:myfield_edit.html.twig'); }and the template :
{# src/mycompany/myBundle/Resources/views/Form/myfield_edit.html.twig #} {% block myfield_widget %} {% spaceless %} {{ block('textarea_widget') }} {% endspaceless %} {% endblock %}And now i can access the form field value by the twig variable "value" !
So easy... when you got it.
更多推荐
自定义表单域呈现
发布评论