我得到了 FatalErrorException: 试图在奏鸣曲管理员中创建自定义操作

Posted

技术标签:

【中文标题】我得到了 FatalErrorException: 试图在奏鸣曲管理员中创建自定义操作【英文标题】:I got FatalErrorException: for trying to create custom action in sonata admin 【发布时间】:2014-03-12 04:33:27 【问题描述】:

在 Sonata Admin 中添加自定义操作时出现以下错误

FatalErrorException:错误:在 /myproject_path/AppBundle/Admin/BalticsAdmin.php 第 106 行中找不到类“Symfony\Component\Debug\Exception\FlattenException”

请问这是什么问题

这里是代码

在管理类中

protected function configureListFields(ListMapper $listMapper)

    $listMapper
        ................................
        .................
        ->add('_action', 'actions', array(
            'actions' => array(
                'show' => array(),
                'edit' => array(),
                'delete' => array(),
                'upload' => array('template' => 'SteelGuruBundle:CRUD:list__action_upload.html.twig'),
            )
        ));


protected function configureRoutes(RouteCollection $collection)

    $collection->add('upload', $this->getRouterIdParameter().'/upload');

然后我使用以下代码在 src/.../.../Controller/CRUDController.php 中创建一个控制器类

namespace ...\AppBundle\Controller;

use Sonata\AdminBundle\Controller\CRUDController as Controller;

class CRUDController extends Controller

public function uploadAction()

    $id = $this->get('request')->get($this->admin->getIdParameter());

    $object = $this->admin->getObject($id);

    if (!$object) 
        throw new NotFoundHttpException(sprintf('unable to find the object with id : %s', $id));
    



然后我使用以下代码在 src/.../AppBundle/Resources/views/CRUD/list__action_upload.html.twig 中创建一个模板

<a class="btn btn-small" href=" admin.generateObjectUrl('upload', object) ">Upload</a>

然后在 services.yml 我添加了以下内容

sg_app.admin.baltic:
    class: ...\AppBundle\Admin\BalticsAdmin
    tags:
        -  name: sonata.admin, manager_type: orm, audit:false, group: Test, label: Upload
    arguments: [null, ...\AppBundle\Entity\Baltics, ...AppBundle:CRUD]

感谢您的回复

【问题讨论】:

我们可能需要一些代码来找出问题所在...所以请分享您的一些代码,例如 EntityAdmin.php 将是一个好的开始... 我用代码编辑了我的问题,请看一下 下一行是什么? EntityAdmin.php 第 106 行 哦,抱歉,BalticsAdmin.php 类的行结束了 是的,但是那一行是什么? 【参考方案1】:

我遇到了类似的问题,发现我必须添加

use Sonata\AdminBundle\Route\RouteCollection;

给管理员(在您的情况下为 BalticAdmin)。

【讨论】:

以上是关于我得到了 FatalErrorException: 试图在奏鸣曲管理员中创建自定义操作的主要内容,如果未能解决你的问题,请参考以下文章

php artisan 抛出 FatalErrorException 类未找到

FatalErrorException:错误:在非对象 symfony 上调用成员函数 has()

HtmlServiceProvider.php 第 36 行中的 FatalErrorException:laravel

Laravel 5.4 上 Manager.php 第 139 行中的 FatalErrorException

Inflector.php 第 265 行中的 FatalErrorException:语法错误,意外 ':',期待 ';'要么 ''

RedirectResponse.php 第 75 行中的 Lumen FatalErrorException:在 null 上调用成员函数 flashInput()