Перемещение элементов категории или товаров в другую категорию занимает много времени в Magento 1.9.2 программным путем
Я хочу переместить продукты из одной категории в другую. Это работает, но занимает много времени, или вы можете сказать, что это отнимает много времени. Имейте в виду, что перемещение товаров означает удаление этого продукта из существующей категории. Перемещение 6 продуктов занимает 3,6 минуты, что не хорошо для любого разработчика. Если кто-то является экспертом в возобновлении сложности времени, пожалуйста, помогите.
**PHP CODE IS HERE...**
<?php
set_time_limit(0);
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
// Load Magento
require_once '../../app/Mage.php';
Mage::app();
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
if(isset($_POST['removeitems']))
{
$categoryId = $_POST['catid'];
$movefromcat = $_POST['movefrom'];
$items = $_POST['removeitems'];
$items = explode(',',$items);
foreach($items as $item){
$product = Mage::getModel('catalog/product')->load($item);
$product->setCategoryIds(
array_merge($product->getCategoryIds(), array($categoryId))
);
$product->save();
Mage::getSingleton('catalog/category_api')->removeProduct($movefromcat,$item);
}
echo json_encode(array('msg' => 'Products moved to category id: '.$categoryId.' successfully!'));
}
exit;
?>
$(document).on("click","#movetoanothercategory",function(){
$(".removecategoryproducts").hide();
$("input.itemtomoveOrCopy").each(function(){
$('.itemtomoveOrCopy').remove();
});
$(".hideme").hide();
if(tipstatus.enable > 0){
alert(tips.movecategoryitem);
}
if($("#categoryselect").val() == "" || $("#categoryselect").val() == "0"){
alert("Load product from any category first");
return false;
}
if ($('input#movetoanothercategory').prop('checked')) {
$(".hideme").show();
$(".copytocategory").hide();
$(".submitmoveitems").show();
$("#simpleList>.improduct").each(function(){
var itid = $(this).attr('id');
$(this).children('div.thumbnail').each(function(i){
// $(this).children(".checkbox");
$(this).prepend("<input type='checkbox' class='itemtomoveOrCopy' attr-id='"+itid+"'>");
});
});
}else{
$(".hideme").hide();
$(".submitmoveitems").hide();
$("input.itemtomoveOrCopy").each(function(){
$(this).remove();
});
}
});
**AJAX FIRE HERE**
$.ajax({
method: "post",
url: "movetoanothercategory.php",
data: "removeitems="+items+"&catid="+Movetocat+"&movefrom="+$.trim($("#categoryselect").val()),
dataType:"json",
cache:false,
success:function(rt){
alert(rt.msg);
$.unblockUI();
$(".loadcategoryitems").click();
}
});
});
1 ответ
Почему бы вам не попробовать через CSV. Это быстро и просто: переместить продукты