2014-07-09 2 views
-1

prestashop 1.5에서 Ajax를 사용하여 컨트롤러에서 컨트롤러를 호출하려고하는데이 작업을 수행하는 데 어려움을 겪고 있습니다.prestashop ajax 컨트롤러 호출

$refresh_url = ($this->_path)."front/blockdiscoversellers.php"; 

과 같은 JS에서 버튼에 대한 지침을 만들어 :

var refresh = { 
    call: function() { 
     var $refresh = $("#manufacturer-refresh"); 

     $refresh.click(function(e) { 
      refresh.ajax(); 
      e.preventDefault(); 
     }); 
    }, 
    ajax: function() { 
     var url = $("#manufacturer-refresh").data("url"); 

     $.ajax({ 
      url: url, 
      type: 'get', 
      data: { 
       controller : 'BlockDiscoverSellers', 
       ajax : true 
      }, 
      dataType: "json", 
      success: function(data) { 
       console.log(data); 
      } 
     }); 
    } 
}; 

및 컨트롤러의 몸과 같습니다

class BlockDiscoverSellers { 

    public function __construct() 
    { 
     die(var_dump($this->refreshManufacturers())); 
    } 

    public function refreshManufacturers() 
    { 
     $result = array("test" => "TESTER"); 

     return Tools::jsonEncode($result); 
    } 
} 
내가 경로에 따라 모듈에서 컨트롤러를 만든

Ajax 호출에서 성공하고 있지만 클래스 및 생성자가 시작되지 않은 것처럼 보입니다. d, 나는이 문제에 상당히 매달렸다.

+0

그래서 당신은 클래스를 인스턴스화하지 ** ** 그리고 문제는 아마도 클래스가 인스턴스화되지 않았다는 것입니다. .... 클래스를 인스턴스화하는 것은 어떻습니까 ?? –

답변

1

아약스 호출을 사용할 때 Prestashop은 프로그래밍 유형 구조 만 사용합니다. 즉 ajax 호출에서 어떤 종류의 클래스도 존재하지 않을 수 있습니다. 컨트롤러 매개 변수를 사용하더라도 부트 스트랩이 시작되지 않으며 파일 끝에 죽어야합니다 ...

관련 문제