sonata-admin - 奏鸣曲管理员 : setting a filter to false by default?

标签 sonata-admin

我目前正在使用 Sonata Admin 生成一个数据网格,其中的实体具有 read bool 字段。我想过滤此属性,将其默认设置为 false

因此,我将以下内容添加到我的 Admin 类中:

protected $datagridValues = array(
    'read' => array('value' => false),
);

然而,它似乎不起作用。生成的选择列表如下:

<select id="filter_read_value" name="filter[read][value]" class="span8">
    <option value=""></option>
    <option value="1">oui</option>
    <option value="2">non</option>
</select>

我认为这是正常的,因为 false 的 value 将为 0,这是空选项。

所以,我使用了一些常量,例如:

const STATUS_READ = 1;
const STATUS_UNREAD = 2;

它有效,但我想知道是否有任何适当的解决方案来避免这两个不必要的常量?

最佳答案

您也许可以使用 getFilterParameters:

<?php
public function getFilterParameters()
{
    $this->datagridValues = array_merge(array(
            'booleanField' => array(
                'value' => '0',
            )
        ),
        $this->datagridValues

    );
    return parent::getFilterParameters();
}

关于sonata-admin - 奏鸣曲管理员 : setting a filter to false by default?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237491/

相关文章:

symfony - 奏鸣曲媒体包 : acces media url

sonata-admin - SonataAdminBundle 显示带有选项卡的 View

php - Symfony2,奏鸣曲 : translate and show translated roles name

symfony - Sonata Admin Bundle Logo 的问题

php - Symfony3 中的 SonataAdmin - 没有注册模型管理器

doctrine-orm - 没有为类 Doctrine\ORM\PersistentCollection 定义实体管理器

sonata-admin - 在 Sonata Admin Bundle 中配置菜单

symfony - Sonata User Admin - 自定义字段依赖

symfony - Sonata Admin 日期时间选择器返回错误时间

php - 奏鸣曲管理员 : Use multiple document classes (types)