Перемещение элементов категории или продуктов в другую категорию занимает много времени в Magento 1.9.2 программным путем - PullRequest
0 голосов
/ 26 сентября 2018

Я хочу переместить товары из одной категории в другую.Это работает, но занимает много времени, или вы можете сказать, что это отнимает много времени. Имейте в виду , что движущиеся продукты означают, что этот продукт исключается из существующей категории.Перемещение продуктов 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 Ответ

0 голосов
/ 26 сентября 2018

Почему бы вам не попробовать через CSV.Это быстро и просто: Перемещение продуктов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...