Роутинг плагина чудит :)

Работало все хорошо, пока не добавил новый Action

На фронте выдает такое:

const urlInCart = "{$wa->getUrl('shop/frontend/incart', ['plugin' => 'cartsmanager'])}";
const urlSaveCart = "{$wa->getUrl('shop/frontend/savecart', ['plugin' => 'cartsmanager'])}";
const getSavedCart = "{$wa->getUrl('shop/frontend/cartall', ['plugin' => 'cartsmanager'])}";
const urlDeleteCart = "{$wa->getUrl('shop/frontend/deletecart', ['plugin' => 'cartsmanager'])}";


Вывел консоль лог:

console.log('urlInCart',urlInCart ); // urlInCart /cartsmanager/incart/
console.log('urlSaveCart', urlSaveCart); // urlSaveCart /cartsmanager/savecart/
console.log('getSavedCart', getSavedCart); // getSavedCart /cartsmanager/deletecart  <= cartall ( должно быть это )
console.log('urlDeleteCart', urlDeleteCart); // urlDeleteCart /cartsmanager/deletecart/

<?php
class shopCartsmanagerPluginFrontendActions extends waJsonActions
{
    public function deleteSavedCartAction(){}
        public function savecartAction(){}
        public function getSavedCartAllAction(){}
        public function incartAction(){}
}

<?php
return array(
    'cartsmanager/incart/' =--> array(
        'plugin' => 'cartsmanager',
        'module' => 'frontend',
        'action' => 'incart',
    ),
    'cartsmanager/savecart/' => array(
        'plugin' => 'cartsmanager',
        'module' => 'frontend',
        'action' => 'savecart',
    ),
    'cartsmanager/cartall' => array(
        'plugin' => 'cartsmanager',
        'module' => 'frontend',
        'action' => 'getSavedCartAll',
    ),
    'cartsmanager/deletecart/' => array(
        'plugin' => 'cartsmanager',
        'module' => 'frontend',
        'action' => 'deleteSavedCart',
    )
);

4 ответа

  • 1
    Михаил Ушенин 26 июля 2024 16:42 #

    Режим отладки включён (или кеш очищен)?

    • +1
      Katvizkiy Stanislav Katvizkiy Stanislav 26 июля 2024 17:52 #

      да, сделал и проверил в первую очередь

      Меняя местами эти записи, 

      <?php
      return array(
          'cartsmanager/incart/' =--> array(
              'plugin' => 'cartsmanager',
              'module' => 'frontend',
              'action' => 'incart',
          ),
          'cartsmanager/savecart/' => array(
              'plugin' => 'cartsmanager',
              'module' => 'frontend',
              'action' => 'savecart',
          ),
          'cartsmanager/cartall' => array(
              'plugin' => 'cartsmanager',
              'module' => 'frontend',
              'action' => 'getSavedCartAll',
          ),
          'cartsmanager/deletecart/' => array(
              'plugin' => 'cartsmanager',
              'module' => 'frontend',
              'action' => 'deleteSavedCart',
          )
      );

      Картина менялась на эту:

      console.log('urlInCart',urlInCart ); // urlInCart /cartsmanager/incart/
      console.log('urlSaveCart', urlSaveCart); // urlSaveCart /cartsmanager/savecart/
      console.log('getSavedCart', getSavedCart); // getSavedCart /cartsmanager/cartall
      console.log('urlDeleteCart', urlDeleteCart); // urlDeleteCart /cartsmanager/cartall/ <= deletecart ( должно быть это )

      добавляя новые роуты:

    • +1
      Katvizkiy Stanislav Katvizkiy Stanislav 26 июля 2024 21:13 #

      При этом, все роуты отрабатывают штатно, если их прописывать вручную

  • 1
    Syrnik.com 14 августа 2024 00:54 #

    $wa->getUrl('shop/frontend/deleteSavedCart', ['plugin' => 'cartsmanager'])

Эта тема в архиве. Добавление комментариев к ней отключено.