在Sonata Admin

时间:2015-10-08 08:00:15

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

我在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演示,但这并没有发生。怎么会?它是一个启用此功能的设置吗?或者它是某个版本?过滤后如何使高级过滤器保持可见?

在过滤之前,我按'详情'

添加过滤器

enter image description here

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

enter image description here

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

1 个答案:

答案 0 :(得分: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行进行评论,则应该获得您正在寻找的行为。