gpt4 book ai didi

symfony - 奏鸣曲管理包创建并返回列表不起作用

转载 作者:行者123 更新时间:2023-12-01 11:39:26 27 4
gpt4 key购买 nike

我正在使用 SonataAdminBundle 在 Symfony 2 中生成后台并管理一些实体。我在创建表单中添加了我想要的所有属性,Soanta 生成了一个带有 3 个按钮的 View :Create , Create and return to list , Create and add another .

现在,无论我选择哪个按钮来保存表单,Sonata 都会重定向我进行编辑。我怎样才能改变这个?为什么它创建了按钮但不进行重定向?

最佳答案

我有同样的问题,但我找到了解决方法。

您需要做的就是将模型管理 Controller 类(扩展 Sonata\AdminBundle\Controller\CRUDController)中的函数“redirectTo”覆盖为:

/**
* redirect the user depend on this choice
*
* @param object $object
*
* @return Response
*/
protected function redirectTo($object)
{
$url = false;

if ($this->get('request')->get('btn_update_and_list') !== null) {
$url = $this->admin->generateUrl('list');
}
if ($this->get('request')->get('btn_create_and_list') !== null) {
$url = $this->admin->generateUrl('list');
}

if ($this->get('request')->get('btn_create_and_create') !== null) {
$params = array();
if ($this->admin->hasActiveSubClass()) {
$params['subclass'] = $this->get('request')->get('subclass');
}
$url = $this->admin->generateUrl('create', $params);
}

if (!$url) {
$url = $this->admin->generateObjectUrl('edit', $object);
}

return new RedirectResponse($url);
}

你可以在 SonataAdminBundle 的 CRUDController 中找到这个函数。

问题是按钮的值是空的,空字符串在 if 条件下被视为 false。

我认为其他选项可能是为这个按钮增加值(value),但我认为这个解决方案要简单得多。

这对我有用,但我不能说它是完美的解决方案。 :)

关于symfony - 奏鸣曲管理包创建并返回列表不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22983913/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com