Перестал работать плагин

Я не знаю с чем это связано, до этого все работало, сейчас при отправке запроса firebug выдает такое сообщение:

Empty module and/or action after parsing the URL "/index.php/?plugin=callback&action=append&_csrf=5292e06c7116d5.50146928&name=%D1%81%D0%B5%D1%80%D0%B3%D0%B5%D0%B9&phone=79033311332&_=1385357437699" (frontend/append).<br />Not found classes: <b>shopFrontendAppendController</b>, <b>shopFrontendAppendAction</b>, <b>shopFrontendActions</b>


Он пытается найти action не в плагине, а в самом приложении shop



action формы {$wa_app_url}?plugin=callback&action=append, по идее он должен обратиться как action'у плагина, в моем случае это jsonController, а пытается его найти в самом приложении



Куда копать?

1 ответ

  • 0
    Маршрутизация через get-параметры не работает во фронтэнде. Она какое-то время работала, но это был баг, и так быть не должно. Используйте хук магазина для добавления правил роутинга http://www.webasyst.ru/developers/docs/plugins/hooks/shop/routing/
    • 0
      Сергей Варенов Сергей Варенов 25 ноября 2013 06:03 #
      можете написать пример или где его можно посмотреть?
      • 0
        Смотрите бесплатный плагин бренды, например.
        • 0
          Сергей Варенов Сергей Варенов 25 ноября 2013 06:48 #
          я по нему и делал, создал routing.php
          <?php
          return array(
          'callback/append/' => 'frontend/append',
          );
          ?>
          И вот когда ajax'ом заношу значения в бд у меня выходит страница 404, action формы /index.php/callback/append/
          Я думаю просто неправильно прописываю маршрут
          • 0
            Попробуйте

            'callback/append/' => array(
            'plugin' => 'callback',
            'module' => 'frontend',
            'action' => 'append',
            ),
            • 0
              Сергей Варенов Сергей Варенов 25 ноября 2013 07:25 #
              404 также, причем вроде редиректа не должно быть, а все равно переходит, вот имя файла который обрабатывает ajax shopCallbackPluginFrontendAppend.controller.php(waJsonController)
              а в конфиге frontend->true надо?
              • 0
                Да, frontend->true надо.

                У меня запустилось в такой минимальной конфигурации: 4 файла.

                * * *

                lib/config/plugin.php
                <?php
                return array(
                'name' => '',
                'frontend' => true,
                );

                * * *

                lib/config/routing.php
                <?php
                return array(
                'callback/append/' => 'frontend/append'
                );

                * * *

                lib/shopCallback.plugin.php
                <?php
                class shopCallbackPlugin extends shopPlugin
                {
                }

                * * *

                lib/shopCallbackPluginFrontendAppend.controller.php
                <?php
                class shopCallbackPluginFrontendAppendController extends waJsonController
                {
                }

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

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