繁体   English   中英

如何使用管理包处理 Symfony 4 中的 perPageOptions 弃用?

[英]How to handle the perPageOptions deprecation in Symfony 4 using the admin-bundle?

最近我将一个 3.4 symfony 项目更新到 4.4,我尝试清除所有新的弃用,但我找不到从管理包中更改这个的方法。 我扩展

受保护的 $perPageOptions = [16, 32, 64, 128, 256];

您可以在

供应商/奏鸣曲项目/admin-bundle/src/Admin/AbstractAdmin.php

并在我的一些页面中添加额外选项。 我怎么能在这个新版本中做到这一点。 是一种解决方法还是他们只是停止使用它并需要自己制作? 我在任何地方都找不到关于这个主题的任何建议。

看起来您需要重新定义getPerPageOptions方法,请参见下面的https://github.com/sonata-project/SonataAdminBundle/blob/3.x/src/Admin/AbstractAdmin.php#L2550

    /**
     * Returns predefined per page options.
     *
     * @return array<string, mixed>
     */
    public function getPerPageOptions()
    {
        // NEXT_MAJOR: Remove this line and uncomment the following
        return $this->perPageOptions;
//        $perPageOptions = [10, 25, 50, 100, 250];
//        $perPageOptions[] = $this->getMaxPerPage();
//
//        $perPageOptions = array_unique($perPageOptions);
//        sort($perPageOptions);
//
//        return $perPageOptions;
    }

因此,在您的扩展管理员中删除此行:

protected $perPageOptions = [16, 32, 64, 128, 256];

然后添加这个块:

public function getPerPageOptions()
{
  $perPageOptions = [16, 32, 64, 128, 256];
  $perPageOptions[] = $this->getMaxPerPage();

  $perPageOptions = array_unique($perPageOptions);
  sort($perPageOptions);

  return $perPageOptions;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM