Отправка данных в плагине Магазина по AJAX на фронтенд

Добрый день!

Создаю Плагин для Магазина
Интересуют такие действия:
У меня есть
1) шаблон плагина во фронтенде
~/shop/plugins/pluginname/templates/form.html
2) Класс плагина
~/shop/plugins/pluginname/lib/shopPluginname.plugin.php
3) Есть класс Экшенов для аякс
~/shop/plugins/pluginname/lib/actions/frontend/shopPluginnamePluginFrontend.actions.php
(наследуется от waJsonActions)



Мне нужно отправить данные AJAXом из моего шаблона во фронтенде на Экшены.
Сам плагин может вызываться как в Категориях товаров, так и на других страницах.
Подскажите, пожалуйста, как правильно сформировать URL запроса и routing.php (в дальнейшем в том числе и для Экшенов БЕЗ AJAX)

2 ответа

  • 2
    Михаил Ушенин Webasyst 5 февраля 2015 04:32 #

    routing.php:

    <?php

    return array(
    'pluginname/some_string/' => 'frontend/action_id',
    );


    URL:

    {$wa_app_url}pluginname/some_string/

    Для экшенов без AJAX принцип формирования URL такой же.

    • +1
      Виктория Дмитриева Виктория Дмитриева 10 февраля 2015 07:09 #

      А для приложения "Фото" роутинг как-то иначе прописывается? Потому что, если я делаю как Вы написали, то возвращается 404 ошибка. Переход срабатывает, если убрать последний слэш, но все равно вызывается не тот экшен, который прописан.

      • +1
        Михаил Ушенин Михаил Ушенин Webasyst 10 февраля 2015 09:20 #

        Да, по-другому (возможно, разработчики этого приложения меня поправят/дополнят, но у меня так работает):

        return array (
        0 => array('some-url/' => 'frontend/action_id',), //для каждого типа URL своё правило
        1 => array('some-url/' => 'frontend/action_id',), //для каждого типа URL своё правило
        );

        Типы URL: имеются в виду те, которые можно выбрать в настройках поселения приложения Фото.

  • 1
    Дмитрий Мошенский 5 февраля 2015 06:55 #

    Спасибо, а если я хочу вызывать Все экшены из этого же файла, как прописать роутинг?

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

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