Кто виноват? Что делать?

Коллеги, помогите, пжста.

Есть плагин Оптовые цены. Есть тема дизайна Купить просто. При активации плагина и добавления в корзину товара по цене сформированной плагином, при переходе в Хаб формируется error.log следующего содержания

Event handling error in shopOptPlugin:
Plugin opt @ hub not found
#0 /var/www/www-dev/wa-apps/shop/plugins/opt/lib/shopOptPlugin.class.php(348): waSystem->getPlugin('opt')
#1 /var/www/www-dev/wa-apps/shop/plugins/opt/lib/shopOptPlugin.class.php(337): shopOptPlugin::getPlugin()
#2 /var/www/www-dev/wa-apps/shop/plugins/opt/lib/shopOptPlugin.class.php(100): shopOptPlugin::checkSettlements()
#3 /var/www/www-dev/wa-system/waSystem.class.php(1541): shopOptPlugin->frontendProducts(Array)
#4 /var/www/www-dev/wa-apps/shop/lib/model/shopCartItems.model.php(253): waSystem->event('frontend_produc...', Array)
#5 /var/www/www-dev/wa-apps/shop/lib/classes/shopCart.class.php(134): shopCartItemsModel->getByCode('731ce5337d4b823...', true, true)
#6 /var/www/www-dev/wa-cache/apps/hub/templates/compiled/hub_ru_RU/bb/b2/3c/bbb23c05b790f19ab4c21feae6f51cc7ce9011d0.file.soaring.cart.html.php(37): shopCart->items()
#7 /var/www/www-dev/wa-system/vendors/smarty3/sysplugins/smarty_internal_templatebase.php(180): content_585d007e6f0c20_73998343(Object(Smarty_Internal_Template))
#8 /var/www/www-dev/wa-system/vendors/smarty3/sysplugins/smarty_internal_template.php(286): Smarty_Internal_TemplateBase->fetch(NULL, NULL, NULL, NULL, false, false, true)
#9 /var/www/www-dev/wa-cache/apps/hub/templates/compiled/hub_ru_RU/6f/b3/5f/6fb35faa8fc3ea2eb9abdc5c780b782532e1b756.file.index.html.php(220): Smarty_Internal_Template->getSubTemplate('soaring.cart.ht...', NULL, 'hub_ru_RU', NULL, NULL, Array, 0)
#10 /var/www/www-dev/wa-system/vendors/smarty3/sysplugins/smarty_internal_templatebase.php(180): content_585d007dab1479_14162619(Object(Smarty_Internal_Template))
#11 /var/www/www-dev/wa-system/vendors/smarty3/sysplugins/smarty_internal_templatebase.php(374): Smarty_Internal_TemplateBase->fetch('file:index.html', NULL, NULL, NULL, true)
#12 /var/www/www-dev/wa-system/view/waSmarty3View.class.php(127): Smarty_Internal_TemplateBase->display('file:index.html', NULL)
#13 /var/www/www-dev/wa-system/layout/waLayout.class.php(150): waSmarty3View->display('file:index.html')
#14 /var/www/www-dev/wa-system/controller/waViewController.class.php(104): waLayout->display()
#15 /var/www/www-dev/wa-system/controller/waViewController.class.php(47): waViewController->display()
#16 /var/www/www-dev/wa-system/controller/waFrontController.class.php(227): waViewController->run(NULL)
#17 /var/www/www-dev/wa-system/controller/waFrontController.class.php(162): waFrontController->runController(Object(waDefaultViewController), NULL)
#18 /var/www/www-dev/wa-system/controller/waFrontController.class.php(58): waFrontController->execute(NULL, 'frontend', NULL)
#19 /var/www/www-dev/wa-system/waSystem.class.php(683): waFrontController->dispatch()
#20 /var/www/www-dev/wa-system/waSystem.class.php(478): waSystem->dispatchFrontend('hub/')
#21 /var/www/www-dev/index.php(7): waSystem->dispatch()
#22 {main}

При этом в теме дизайна Default такой проблемы не наблюдается. Но наблюдается так же и в других темах дизайна (смотрел правда лишь в dsv2). Логически, при таком раскладе вроде бы проблема в Теме дизайна. Но взял посмотреть другой аналогичный плагин (внутрь не заглядывал, но, вероятно, хуки-то те же самые) - лог не формируется. Получается, проблема в плагине? В общем я запутался, а разработчики, как истинные джентльмены, кивают друг на друга.

Подскажите, на кого из них пролить мой праведный гнев? :)

Спасибо.

23 ответа

  • 1
    Алексей Webasyst 23 декабря 2016 15:11 #

    Судя по логу система пытается вызвать плагин opt в приложении хаб. В хуках такого поведения нет. Возможно для плагина opt вы добавляли хелпер в шаблон?

  • 1

    Павел, ответил на Ваше письмо еще 22 декабря

    не на кого не кивал, вот текст письма:

    Здравствуйте! каждый плагин работает для своего приложения если в приложении хаб возникает ошибка этого плагина - значит конструкция этого плагина оказалась в приложении хаб скорее всего эта конструкция может находится в плавающей корзине - только корзина у нас отображается на всех приложениях решение - либо убрать корзину из этого приложения, либо убрать для этого приложения конструкцию плагина или подправить её (с помощью разработчика плагина) * возможно где то Вы где то еще вставили конструкцию для этого плагина
    • +1

      Игорь, прошу прощения если не правильно понял, но мне показалось что речь о том, что проблема в плагине. Да я собственно и без претензий, просто до истины докопаться хочется :)

      Так а что сделать-то? :) Вариант убрать корзину из Хаба - на самый крайний случай. Я б и сам поразбирался, но темы дизайна для меня - темный лес, без навигатора заблужусь.

  • 1

    В базовой версии в корзине нет вызовов каких либо плагинов кроме "Quickorder", если установка чистая и Вы ничего не прописывали - плагин меняет стандартный $cart_total (это предположение - я к сожалению не знаком с плагином "оптовые цены").

    Опять же, подобные ошибки должны были появиться и на других приложениях (кончено кроме магазина)

    Помочь с плагином не могу (повторюсь - не знаю этого плагина), а убрать корзину из приложений где происходит ошибка - пожалуйста:

    в файле index.html, замените строку

    {if $wa->shop}<!-- shopping cart info -->

    на

    {if $wa->shop && $wa_app == 'shop'}

    * корзина будет открываться только в приложении магазин

    * после изменений, на всякий случай очистите кеш инсталлера


  • 1

    Вопрос представителям Вебасист. Если платная поддержка найдет причину у себя в движке, будут ли возвращены деньги?

    • +1
      Genasyst Genasyst 29 декабря 2016 21:03 #

      или если дело в плагине - рекламация плагина

      • +1

        Читай что пишет Алексей. Это и из лога видно. Плагин вызывают из хаба. Плагин не писался вообще чтобы его вызывали из хаба или других приложений. Когда пишешь плагин, чтобы он работал из под всех приложений, нужно во всех вызовах вместо wa() писать wa('shop') и вообще все внимательно смотреть во всех местах и тестировать. Таких требований вебасист к плагинам не предъявляет.

        Кстати, Павел, пока писал это, понял как можно исправить. Но это надо дофига тестить.

      • +1

        Ну это крайняя мера, и в данном конкретном случае, надеюсь, применяться ни к кому не будет. По большому счету у меня на плагин-то и лицензии нет :) Андрей просто по доброте душевной дал мне его посмотреть и погонять, а я тут такую кашу заварил :) Но если каша в итоге сварится - лицензию обязательно куплю :)

        Да и заваривать-то ее я стал исходя из мысли, что такая ситуация, когда 3 чистых продукта из магазина при взаимодействии дают сбой, заинтересует главного по тарелочкам (тестированию) в WA. Но, похоже, не заинтересовала. Ну нет так нет, что поделать :)

        • +1
          Алексей Алексей Webasyst 29 декабря 2016 22:19 #

          Даже 2 плагина могут между собой конфликтовать. И модераторы точно не будут проверять взаимодействие между наборами плагинов.

          • +1

            Нет, Алексей, я ж без претензий в этой части :) Ну нет и нет. Я вот даж не знаю как объяснить.... Как бы сказать-то... Вот когда у тестировщика кураж есть - ему результат интересен, и всякие такие нестандартные ситуации. Он все выходные напролет проведет за изучением, но поймет в чем фишка. Я не говорю что так должно быть. Но я говорю что так бывает когда есть кураж и интерес. Ну а нет так нет. Винить в этом кого-либо нельзя.

            Ох, руки чешутся немного по одному продукту пройтись, но неимоверным усилием воли воздержусь :) Новый Год все же на носу :) Лучше хорошего настроения пожелаю и вам и всем тестировщикам :)

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

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