2014-07-09 75 views
-1

我想在prestashop 1.5中使用Ajax在模塊中調用控制器,而且我很難做到這一點。prestashop阿賈克斯控制器調用

我的路徑下創建控制器模塊:

$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調用只使用結構類型的編程。這意味着在Ajax調用中可以沒有任何類別的引導程序,即使使用控制器參數也不會啓動它,並且您必須在文件的末尾死亡...