Symfony & Sonata:如何将 javascript 添加到实体管理表单?

Posted

技术标签:

【中文标题】Symfony & Sonata:如何将 javascript 添加到实体管理表单?【英文标题】:Symfony & Sonata : How to add javascript to entity admin form? 【发布时间】:2020-02-18 17:19:45 【问题描述】:

Symfony 和 Sonata 的新手我用关联的 App\Admin 类创建了一个实体“Foo”:

<?php 
namespace App\Admin;

final class FooAdmin extends AbstractAdmin

    protected function configureFormFields(FormMapper $formMapper)
            
        $formMapper
            ->with('Zorg', ['class' => 'col-md-4'])
                ->add('name', TextType::class)
            ->end();
    
    ...

一切正常。 我可以访问列表、添加和编辑 Foo。

我现在想在 addedit 表单中添加一个 javascript 脚本。

我该怎么做?我可以使用资产和 Encore 吗? 还有其他/最好的方法吗?

感谢您的帮助

【问题讨论】:

【参考方案1】:

如果您使用的是Encore,那么下面应该可以工作:

# config/packages/sonata_admin.yaml

sonata_admin:
  assets:
    extra_stylesheets:
      - build/app.css
    extra_javascripts:
      - build/runtime.js
      - build/app.js

【讨论】:

以上是关于Symfony & Sonata:如何将 javascript 添加到实体管理表单?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Sonata/Symfony 3.3 中设置内容配置?

Symfony - Sonata Abstract Admin 和 getDoctrine

Symfony Sonata Media Bundle 向用户添加图像/视频

Symfony2 覆盖 Sonata 媒体图像提供程序。(将接口传递给构造函数)

Symfony Sonata Admin 仅将属性显示为只读文本

Symfony Sonata 媒体包