forms - 自定义表单字段呈现

标签 forms symfony-2.1 sonata-admin

我想自定义来自 sonata admin bundle 的编辑页面中表单字段的呈现包含一个使用字段文本内容的小程序。

我知道我必须编辑 configureFormFields admin 类中的函数,但我需要知道 3 件事:

  • 提供字段表单模板的语法是什么
  • 模板文件放在哪里(哪个目录)
  • 模板必须看起来像什么。
  • 最佳答案

    找到了解决办法

    我所做的是:

  • 创建了一个字段类型,让我们在 myCompany\myBundle\Form\Type\myfieldType.php 中将其称为 myfieldType
    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';
        }
    }
    
  • 在 app/config/services.yml 中注册 Type
    myCompany.myBundle.form.type.myfield:
        class: myCompany\myBundle\Form\Type\myfieldType
        tags:
            - { name: form.type, alias: myfield }
    
  • 在我的 myentityAdmin 类中,
     protected function configureFormFields(FormMapper $formMapper)
     {
         $formMapper
         ->add('myfieldname', 'myfield')
         ...
     }
    


    public function getFormTheme() {
        return array('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 %}
    

  • 现在我可以通过 Twig 变量“值”访问表单字段值!

    如此简单......当你得到它时。

    关于forms - 自定义表单字段呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194148/

    相关文章:

    java - 如何将 String 值发送回 Spring MVC?

    routes - Symfony2 路由全局 {_locale} 要求

    Symfony 2.1错误: import @ORM\Table in repository

    symfony - SonataAdminBundle表单字段查询

    php - 移除删除复选框 Sonata Admin Bundle

    django - 如何将初始值传递给 Django 表单中的图像字段

    使用 HTTP POST 上传 PDF 文件的 VBA

    forms - Play Framework 2.1/复杂对象的表单映射

    Symfony2 用于子域路由的多个配置和路由文件

    symfony - 从 Sonata 管理菜单中删除 Symfony CMF 内容类型选项