Như được mô tả trong câu hỏi vấn đề này đã được giải quyết ở đây nhưng câu trả lời không hoạt động tốt với tôi.
Tôi đang thêm vào đây một giải pháp làm việc hoàn chỉnh ( method 2
).
đây là mã hoạt động tốt với tôi:
$cat_products_split = explode('&', $data['category_products']);
foreach ($cat_products_split as $row) {
$arr = explode('=', $row);
if (count($arr) == 2) {
$products[$arr[0]] = $arr[1];
}
}
- ĐÂY CÁC BƯỚC ĐỂ CỐ ĐỊNH
1. Tạo ra một mô-đun mới
hãy tạo một mô-đun CategoryFix
tại địa phương.
Đây là config.xml
:
<?xml version="1.0"?>
<config>
<modules>
<MYNAMESPACE_CategoryFix>
<version>0.1.0</version>
</MYNAMESPACE_CategoryFix>
</modules>
<admin>
<routers>
<adminhtml>
<args>
<modules>
<!--FOR THE USE OF OUR CONTROLLER BEFORE THE CORE ONES -->
<categoryfix before="Mage_Adminhtml">MYNAMESPACE_CategoryFix_Adminhtml</categoryfix>
</modules>
</args>
</adminhtml>
</routers>
</admin>
</config>
2. Ghi đè bộ điều khiển danh mục ( saveAction()
)
Tập tin điều khiển: /MYNAMESPACE/CategoryFix/Adminhtml/Catalog/CategoryController
<?php
require_once 'Mage/Adminhtml/controllers/Catalog/CategoryController.php';
class MYNAMESPACE_CategoryFix_Adminhtml_Catalog_CategoryController extends Mage_Adminhtml_Catalog_CategoryController
{
/**
* Category save
*/
public function saveAction()
{
// 1. COPY HERE THE CODE FROM THE ORIGINAL SAVEACTION() METHOD
// 2. COMMENT THIS LINE: `parse_str($data['category_products'], $products);`
// USE THE CODE REPORTED ABOVE
}
}
max_post_size