Запрос к контроллеру со страницы shop/checkout Есть решение

Доброго времени суток!
Подскажите как настроить роутинг для запроса из javascript-файла загруженному на страницу http://mydomain.com/shop/checkout/ через хук frontend_checkout

$.getJSON('?plugin=myplugin&module=frontend&action=my_action', function(json){
    $console.log(json);
});

PHP-файл контроллера находится в директории и называется /lib/actions/shopMypluginFrontendMyaction.controller.php

5 ответов

  • 2
    Syrnik.com 9 января 2016 15:52 # Решение

    используемый вами метод подойдет только для бэкенда.

    почитайте доку про роутинг

    в качестве наглядного пособия можно какой-нибудь бесплатный плагин, например brands, посмотреть

    • +1
      Игорь Игорь 9 января 2016 16:02 #

      Спасибо!
      Уже и там и там изучил но так и не понял как прописать роутинг.
      В роутинге прописано:

      return array(
          'myaction/<myparam>' => array(
              'module' => 'frontend',
              'plugin' = > 'myplugin',
              'action' = > 'myaction',
          ),
      );
    • +1
      Игорь Игорь 9 января 2016 16:07 #

      при обращении к контроллеру из JS методом $.getJSON

      $.getJSON('?plugin=myplugin&module=frontend&action=my_action', function(json){
          $console.log(json);
      });

      возвращает ответ 404

      при обращении методом $.get возвращает код страницы checkout

      • +3
        Syrnik.com Syrnik.com 9 января 2016 17:21 #

        так вот как-то:

        $.getJSON('/myaction/some_parameter')

        если точно знаете, что фреймворк в корне хостинга и магазин на '*' поселен. а в более общем случе получить путь так:

        {$wa->getUrl('shop/frontend/myaction', ['plugin'=>'myplugin', 'myparam'=>'какой-то параметр'])}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите