CRON и плагин магазина.

MrFlashAccount

Реализую в своем плагине выполнение действия по cron, создал класс,унаследованный от waCliController, но вот загвоздка: как вызвать из этого класса метод класса shop<имя_плагина>.plugin.php? или это невозможно?

11 января 2017
  • Eugen Nichikov 11 января 2017 12:22

    так

    /**
     * @var $plugin shopMypluginPlugin
     **/
    $plugin = wa('shop')->getPlugin('myplugin');
    $plugin->publicMethod();

    Или статическими методами пользоваться.

  • MrFlashAccount 11 января 2017 12:39

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

  • Eugen Nichikov 11 января 2017 12:46

    публичный метод

  • MrFlashAccount 11 января 2017 12:53

    конечно,обязательно

  • Eugen Nichikov 11 января 2017 13:03

    Значит опечатка где-то.

    Именно так оно и работает

    https://github.com/ZloyTip/smartfilters/blob/master/lib/actions/shopSmartfiltersPluginSettings.action.php

  • MrFlashAccount 11 января 2017 13:46

    подожди,ты сейчас про экшены, а я про cli, там есть различия, потому что плагин не инициализирован(может я и не прав, поправьте меня, это основано на эмпирическом опыте)

  • Eugen Nichikov 11 января 2017 14:28

    Мой любимый метод из shopCartsPluginCheckCli



    wa('shop')->getPlugin('myplugin'); вызывает инстанс плагина вообще откуда-угодно (в PHP) в любой части фреймворка

  • Никита Лещёв 7 февраля 2017 21:09

    Можно сделать так:

    $plugin = new YourPluginClass(array(
            'id' => 'plugin_id',
            'app_id' => 'app_id'
    ));
    $settings = $plugin->getSettings();
  • Eugen Nichikov 7 февраля 2017 23:13

    Можно. Но не нужно.



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