【问题标题】:Advanced filters disappearing after filtering in Sonata Admin在 Sonata Admin 中过滤后高级过滤器消失
【发布时间】:2015-10-08 08:00:15
【问题描述】:

我在我的 Symfony2 项目中安装了 Sonata Admin Bundle。这是我的 composer.json 的要求:

    "require": {
    "php": ">=5.3.9",
    "symfony/symfony": "2.7.*",
    "doctrine/orm": "~2.2,>=2.2.3,<2.5",
    "doctrine/dbal": "<2.5",
    "doctrine/doctrine-bundle": "~1.4",
    "symfony/assetic-bundle": "~2.3",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~4.0",
    "sensio/framework-extra-bundle": "~3.0,>=3.0.2",
    "incenteev/composer-parameter-handler": "~2.0",
    "doctrine/doctrine-migrations-bundle": "^1.0",
    "friendsofsymfony/user-bundle": "~2.0@dev",
    "cunningsoft/chat-bundle": "^0.4.0",
    "knplabs/knp-time-bundle": "^1.3",
    "knplabs/knp-paginator-bundle": "^2.4",
    "knplabs/knp-menu-bundle": "~2",
    "twig/extensions": "^1.3",

    "sonata-project/core-bundle": "^2.3",
    "sonata-project/block-bundle": "^2.3.8",
    "sonata-project/admin-bundle": "dev-master",
    "sonata-project/doctrine-orm-admin-bundle": "^2.3"
},

我使用的是 dev-master 版本,但这个问题似乎也出现在 2.3 版本中。

我有一些用户发的帖子,每当我想使用高级过滤器过滤某些内容时,高级过滤器在过滤后会消失,但如果我重新检查“高级过滤器”链接,它们会出现在里面的值。

这发生在 dev-master 和 2.3 版本中,它发生在所有实体上,而不仅仅是这个。

我查看了 Sonata Sandbox 演示,但没有出现这种情况。怎么会?它是启用此功能的设置吗?还是某个版本?过滤后如何让高级过滤器保持可见?

在过滤之前,我通过'Details'添加了一个过滤器

过滤后,高级过滤框消失:

但是如果我再次点击“高级过滤器”链接,它会出现并且仍然选择了“不包含”选项。

【问题讨论】:

  • 没有线索,但我刚刚测试过,同样的事情发生在我身上(以前从未注意到这一点),我会深入了解这个:)
  • 很好,我也说过here
  • 完美,我也加入了github问题

标签: php symfony sonata-admin symfony-sonata sonata


【解决方案1】:

看来这实际上是他们的预期行为???

/* Advanced filters */
if (jQuery('.advanced-filter :input:visible', subject).filter(function () {     return jQuery(this).val() }).length === 0) {
    jQuery('.advanced-filter').hide();
};

我不知道他们为什么要这样做......

发生在vendor/sonata-project/admin-bundle/Resources/public/Admin.js

如果您将此文件复制到您自己的捆绑包中(将 SonataAdminBundle 作为父捆绑包),并评论 vendor/sonata-project/admin-bundle/Resources/public 行,您应该得到您正在寻找的行为。

【讨论】:

  • 哇,你真快。对我来说这听起来也很奇怪,这是一种有意的行为。
  • 是的,我也觉得很奇怪,这没有任何意义,如果我把它放在 equals 上,我可以理解它被删除,但如果我把它放在“大于”上,它肯定不应该消失
猜你喜欢
  • 2018-10-19
  • 2016-05-28
  • 2019-03-17
  • 2014-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-30
  • 2023-03-23
相关资源
最近更新 更多