【问题标题】:sonata_type_model_list how to delete image after selectsonata_type_model_list 选择后如何删除图像
【发布时间】:2018-03-14 12:11:25
【问题描述】:

选择媒体后是否可以删除它(也在数据库中)?

【问题讨论】:

    标签: sonata-admin symfony-sonata sonata sonata-media-bundle


    【解决方案1】:
    1. 与 sonata_type_model_list 的多对一或一对一关系

             ->add('client', 'sonata_type_model_list', [
                          'btn_add'       => $this->trans('admin.button.add_client'),
                          'btn_list'      => $this->trans('admin.button.list'),
                          'btn_delete'    => 'Delete button',
                          'btn_catalogue' => $this->translationDomain,
                          'label'         => $this->trans('admin.label.client'),
                          'required'      => true,
                  ], [
                          'placeholder'   => $this->trans('admin.placeholder.no_client'),
                  ])
      

      'btn_delete' => 'delete button' 行提供删除按钮 你的权利一对一的实体。 在这个例子中,我使用了一个实体 ClientCard,它与 Client 实体具有一对一的关系。

    2. 列表视图。 默认情况下,您在列表视图中有删除按钮。 删除 - 是批处理操作之一。如果您想禁用此操作(以及所有其他操作),您必须覆盖 getBatchActions 方法

      /**
       * @return null
       */
      public function getBatchActions()
      {
          return null;
      }
      
    3. 编辑模式。 默认情况下,您在编辑模式下具有删除按钮。 如果您想完全禁用删除操作,则可以覆盖configureRoutes 方法:

      /**
       * @param RouteCollection $collection
       */
      protected function configureRoutes(RouteCollection $collection)
      {
          $collection->remove('delete');
      }
      

    希望它会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 2021-04-28
      • 2022-01-14
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多