У меня такая же проблема. После изучения кода я просто изменил код js, чтобы пользователь мог видеть, что категория перемещена в дереве категорий, но текущее задание php backend будет обрабатываться некоторое время. Для этого. вам нужно переопределить:
app/design/adminhtml/default/default/template/catalog/category/tree.phtml
изменить код запроса js ajax следующим образом:
new Ajax.Request(
'<?php echo $this->getMoveUrl() ?>',
{
method: 'POST',
parameters: pd.join(""),
onCreate: function(request) {
console.log('onCreate()');
Ajax.Responders.unregister(varienLoaderHandler.handler);
},
onComplete: function(request) {
console.log('onComplete()');
Ajax.Responders.register(varienLoaderHandler.handler);
},
onSuccess : success,
onFailure : failure
}
);
С этим экраном js не будет блокироваться при фактическом перемещении. Также вы сможете перемещать несколько категорий, пока одна уже перемещается.
Код не полный. Вам нужно будет ограничить эту категорию, которую нельзя переместить в уже перемещаемую категорию и некоторые другие ограничения.
Но если вы знаете, что делаете, все будет хорошо. :)