Пишу плагин для CMS Zencart и зашел в тупик.
Мне нужно отправить AJAX запрос на текущую страницу.
В php у меня подключены два файла
require('includes/application_top.php');
require('includes/mymodule/myModule.php');
//тут остальной код, но не в нем суть
В самом js я отправляю запрос.
$("input[name='syncProducts']").click(function(event) {
var myData={};
myData['action'] = "sync";
$.ajax({
url:ajaxURL,
type:"post",
data: myData,
dataType:"json",
success: function(data){
console.log(data);
}
});
});
Теперь в чем проблема.
Файл application_top.php - стандартный файл ZenCart, в котором все конфиги, пути и т.д. Он в свою очередь подгружает еще десяток файлов.
В моем файле myModule.php реализован класс для работы плагина и в нем же я смотрю какой запрос пришел:
if(isset($_POST['action']) && !empty($_POST['action'])) {
$dolibarr = Dolibarr::getInstance();
$action = $_POST['action'];
switch($action) {
case 'connect' :
break;
case 'sync' : $dolibarr->syncProducts();
break;
}
die();
}
class Dolibarr{
//тут сам класс
И когда я отправляю AJAX запрос, мне возвращает данные с application_top.php, т.к. он первый подключается. Если его подключать после myModule.php, то в моем плагине не работают те функции, которые реализованы в application_top.php (та же работа с БД).
Запутано конечно, но не знаю как проще объяснить.