Silverstripe网格域过滤器无法正常工作

时间:2015-03-12 01:30:24

标签: silverstripe

我有一个我刚刚从2.4更新的网站 - > 3.1。

在我的本地环境中,一切正常,但一旦上传到生产,GridFields上的搜索过滤器就不起作用了。没有我能看到的错误,他们只是没有过滤任何东西。

有没有人遇到过这个?

class Product extends DataObject {

    static $db = array (
        'URLSegment'=>'Varchar(255)',
        'Name' => 'Text',
        'ProductCode' => 'Text',
        'Description' => 'Text'
    );

    static $has_one = array (
        'ProductPage' => 'ProductPage',
        'OverrideProductImage' => 'Image'
    );

    static $searchable_fields = array( 
        'Name',
        'Description', 
        'ProductCode' 
    );

    static $create_table_options = array(
        'MySQLDatabase' => 'ENGINE=MyISAM'
    );


    public function getCMSFields() {
        return new FieldList(
            new TextField('Name'),
            new TextField('ProductCode'),
            new TextareaField("Description","Description"),
            new Uploadfield("OverrideProductImage", "Product Image")

        );
    }
}

class ProductPage extends Page {

    public static $db = array(
        'ShowOnHome' => 'Boolean'
    );

    static $has_many = array (
        'Products' => 'Product'
    );

    public function getCMSFields() {
        $f = parent::getCMSFields();

        $config = GridFieldConfig_RecordEditor::create();
        $config->getComponentByType('GridFieldDataColumns')->setDisplayFields(array(
            'Thumbnail' => 'Product Image',
            'Name' => 'Name',
            'ProductCode' => 'ProductCode', 
            'Description' => 'Description'
        ));

        $config->addComponent(new GridFieldOrderableRows());

        $productsField = new GridField(
            'Products', // Field name
            'Product', // Field title
            $this->Products(), 
            $config
        );

        $f->addFieldToTab('Root.Products', $productsField);

        return $f;
    }
}

1 个答案:

答案 0 :(得分:2)

您的实时服务器上是否启用了suhosin?我上周偶然发现了这个问题,它将在3.1.11中修复,它即将到来。也许签出预发布版,你可以下载here(包括作曲家命令)

不幸的是,Suhosin在我的debian框中登录到syslog,所以我没有发现任何错误。

必须更新suhosin.get.max_name_length才能使excel导出正常工作,并suhosin.post.max_name_length进行分页和列排序/过滤工作。

请参阅Github issue