Хорошая тема. Любые вопросы по CS-Cart и не только

JS вызывается в файле func.js в директории модуля (js/модуль/func.js). Он обернут в оболочку Tygh функции. Все методы внутри работают, кроме запроса

Причем, когда я эмулирую запрос к контроллеру, другого модуля, всё работает.

А вот, что на стороне сервера

Вы сразу за все концы тянете)
URL на стороне браузера формируется с ошибкой? Тогда пофиг что на сервере. Разбирайте функцию fn_url, проходите отладчиком.

При отладке была выявлена проблема в этом месте, что немного странно, так как от документации я не отклонялся

image

Что возвращает нас к предыдущему вопросу, где и как вызывается код? Собственно что в Tygh?

Может так попробовать:

    var url='https://' +  window.location.hostname + '/?dispatch=labels.getLabels';
    Tygh.$.ceAjax('request', url,
        {
            result_ids: 'ids_update'
        });

В контроллере поставьте fn_print_die($_REQUEST);
Пройдет ли обработка.

И еще exit; добавить в контроллере ajax

if (defined('AJAX_REQUEST')) {
     //....
    exit;
}

делайте так

$.ceAjax('request', fn_url('labels.getlabels'), {
//callback,params,etc
})

Немного изменил Ваш JS:

var url = 'http://' + window.location + 'index.php?dispatch=labels.getLabels';
  Tygh.$.ceAjax('request', url, {
    result_ids: '320'
  });

Как видно из скриншота, запрос не прошел

Сейчас еще раз попробую. Но мне кажется, что модуль просто невидим для CSCart с точки зрения данного функционала. Может где то контроллеры еще нужно прописать явным способом?

PS: Когда явно задаю конкретный url страницы, то сервер отдает ответ 404, а статус запроса 200, что говорит о том, что запрос проходит.

я там подредактировал сообщение, посмотрите

Так же, без изменений, увы

Не издевайтесь с окружающих)
У Вас в js-коде не определен Tygh при вызове функции. Вы же видите что undefined конкретные свойства, которые не относятся к Вашему модулю в принципе. Проверьте область видимости Вашего js, добейтесь нормального срабатываения fn_url

Простите, для меня CS CART - новая CMS. Я только разбираюсь в её архитектуре. Издеваться и в мыслях не было))))

Может, я что то не понял, но разве, обертки недостаточно?)

Ведь в предыдущем модуле, который я писал, всё работает без проблем

image

Обертки достаточно. Посмотрите еще, чтобы getlabels везде одинаково написано было. А то в теме уже 3 варианта встречается. Ну и sweetcode про exit писали, его проставили?

1 лайк

Да, записано везде всё одинаково labels.getlabels. Exit поставил

да не, норм. Просто у большинства пока мысли не в ту сторону идут)
Распечатайте у себя Tygh. Если пусто, то что-то с подключением. Возможно Ваш код срабатывает раньше, чем передача Tygh из smarty в js.

1 лайк

Пока URL не будет правильным (index.php?) остальное работать не будет)
Мучайте fn_url и Tygh

1 лайк

Коллеги, а можете подсказать почему у меня вдруг вместо карты при клике на город стало показываться https://i.gyazo.com/944b601e1b6e37400863c69fef29418c.png

– Не пойму почему так стало
– Изменения были только с доставками

Вроде как в модуле есть опция переключения Карта /Список.

Да вроде нет такой настрйоки https://gyazo.com/b3d0056f50b60562515eaa181306f68c