贴心
全国7×24小时客服热线
安全
病毒杀除率高于99%
稳定
网站可用性高于99.9%
实力
服务68家上市企业及集团公司
点击数:13032015-07-22 10:51:48 来源: 外贸网站建设,深圳外贸网站建设,深圳网站建设,外贸商城网站制作-亿恩科技
magento目录产品数据可以批量导入超入1001条的产品,但如果对产品目录进行保存,就会发现只有1001条的产品了,
解决这个有两种思路,
一种是改服务器配置,但这个改动可能会引发ddos的风险,所以弃之
第二是改magento的核心代码,改动如下:
在app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController.php文件中
将
parse_str($data['category_products'], $products);
改成
$cat_products_split = explode('&', $data['category_products']);
foreach($cat_products_split as $row) {
$arr = array();
parse_str($row, $arr); //This will always work
list($k, $v) = each($arr);
if (!empty($k) && !empty($v)) {
$products[$k] = $v;
}
}
即可解决后台保存超过1001个产品的问题
if (isset($data['category_products']) &&
!$category->getProductsReadonly()) {
$products = array();
parse_str($data['category_products'], $products);
$category->setPostedProducts($products);
}
换成
if (isset($data['category_products']) &&
!$category->getProductsReadonly()) {
$products = array();
$records = preg_split('/&/',$data['category_products'],-1,PREG_SPLIT_NO_EMPTY);
if(count($records) > 0){
foreach($records as $record){
$record = trim($record);
if(preg_match('/([0-9]*)=([0-9]*)/',$record,$matches)){
$products[$matches[1]] = $matches[2];
}
}
}
$category->setPostedProducts($products);
}
可以解决之一个方案在某些情况下,产品变0的问题