Silverstripe Gridfield 过滤器不工作
Silverstripe Gridfield filters not working
我有一个网站,我刚刚从 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;
}
}
你的在线服务器上是否启用了 suhosin?我上周偶然发现了这个问题,它将在即将到来的 3.1.11 中修复。也许检查你可以下载的预发行版 here(包括 composer 命令)
不幸的是,Suhosin 登录到我的 debian 机器上的系统日志,所以我首先没有发现任何错误。
必须更新 suhosin.get.max_name_length
才能使 excel 导出正常工作,必须更新 suhosin.post.max_name_length
才能使分页和列排序/过滤正常工作。
我有一个网站,我刚刚从 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;
}
}
你的在线服务器上是否启用了 suhosin?我上周偶然发现了这个问题,它将在即将到来的 3.1.11 中修复。也许检查你可以下载的预发行版 here(包括 composer 命令)
不幸的是,Suhosin 登录到我的 debian 机器上的系统日志,所以我首先没有发现任何错误。
必须更新 suhosin.get.max_name_length
才能使 excel 导出正常工作,必须更新 suhosin.post.max_name_length
才能使分页和列排序/过滤正常工作。