我有一个我刚刚从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;
}
}
答案 0 :(得分:2)
您的实时服务器上是否启用了suhosin?我上周偶然发现了这个问题,它将在3.1.11中修复,它即将到来。也许签出预发布版,你可以下载here(包括作曲家命令)
不幸的是,Suhosin在我的debian框中登录到syslog,所以我没有发现任何错误。必须更新suhosin.get.max_name_length
才能使excel导出正常工作,并suhosin.post.max_name_length
进行分页和列排序/过滤工作。
请参阅Github issue