2011-11-11 2 views
1

이전에 입력 한 100 개의 범주와 하위 범주가 있습니다. 나는 그들을 통합하고보다 논리적 인 순서로 움직일 수 있는지 알고 싶다. 그러나 adminhtml, 각 이동은 오랜 시간이 걸립니다.Magento : 내 범주를 더 빨리 이동하는 방법

나는 이미 catalog_rewrite_url을 수동 모드로 비활성화했습니다. 이렇게 빨리 프로그래밍 할 수 있도록 아무 것도 비활성화 할 수 있습니까?

또는 프로그래밍 방식으로 모든 프로그램을 새로운 순서로 변경할 수있는 방법이 있습니다.

(미안 해요 PS는이를 물어 잘못된 포럼 인 경우)이 참조

+0

다음은이 스레드의 답변입니다. [http://www.magentocommerce.com/boards/viewthread/22710/](http://www.magentocommerce.com/boards/viewthread/22710/) –

답변

2

을 :

Magento - Move a category programmatically

당신은 당신이 원하는 모든 움직임을 해결할 수 있으며, 약간의 스크립트를 함께 넣어가 당신을 위해 모든 것을 할 수 있습니다.

(dev 환경에있는 경우) catalog_rewrite_url 테이블을 완전히 지울 수도 있습니다. 이것은 재 구축 될 수 있습니다 (색인에 있음). 그렇게하면 이전 URL 리디렉션을 작성할 필요가 없습니다.

실제로 dev에있는 경우이 표를 정리하여 정상적인 관리자로 속도를 높이는 방법을 확인하십시오.

0

동일한 문제가 있습니다. 코드를 검토 한 후 js 코드를 변경하여 범주 트리에서 범주가 이동했지만 실제 PHP 백엔드 작업이 얼마 동안 처리 될 것을 사용자가 볼 수 있도록했습니다. 하기 위해서.

app/design/adminhtml/default/default/template/catalog/category/tree.phtml 

변화 JS 아약스 요청 코드를 다음과 같이 : 당신은 오버라이드 (override) 할 필요가 실제 이동이 이루어질 때이 화면으로

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에 의해 차단되지 않습니다. 또한 이미 이동 한 상태에서 여러 범주를 이동할 수 있습니다. 코드가 완료되지 않았습니다. 해당 범주를 이미 이동하는 범주 및 다른 제약 조건으로 이동할 수 없도록 제한해야합니다.

하지만 당신이하는 일이 무엇인지 알면 모든 것이 괜찮을 것입니다. :)

관련 문제