Получить настройки плагина

Denis

Народ, подскажите, как получить настройки плагина из файла settings.php в файл shop[Плагин].plugin.php (основной файл плагина).

$on = $this->getSettings('on'); - не работает, хотя по документации должен.

Для передачи нужен экшен - shop[плагин]PluginSettings.action.php ??? Если да, то какова внутренняя логика для передачи?

30 августа 2017
  • Михаил Ушенин Webasyst 30 августа 2017 18:13

    Это сработает только в основном классе плагина:

    $this->getSettings('on');

    В других классах плагина нужно писать:

    wa('app_id')->getPlugin('plugin_id')->getSettings('on');

    Вы ещё не используете IDE для разработки? Там всё это было бы очевиднее.

  • Михаил Ушенин Webasyst 30 августа 2017 18:37

    Если вам это нужно в статическом методе основного класса плагина, то там тоже нужно использовать второй вариант, т. к. в статических методах нет доступа к переменной $this с экземпляром класса.

    Или проблема совсем не в этом?

  • Denis 30 августа 2017 20:48

    Михаил! Огромное спасибо! Работает!

    Можно вопросик еще не по этой теме?

    Вывод содержимого плагина в шаблон вот так:

    {shop[Плагин]Plugin::param[Плагин]Action()} является приемлемым? Так правильно? Или только через шаблон и хук?

  • Михаил Ушенин Webasyst 31 августа 2017 09:07

    Если есть возможность, то удобнее через хук. Если через хук возможности нет или нерационально в вашей ситуации, то вызовом публичного статического метода любого класса плагина.

    * Лучше разные темы не мешать в одном обсуждении, чтобы не создавать путаницу.

  • Михаил Ушенин Webasyst 31 августа 2017 09:07

    Ответ зависит и от того, какой шаблон вы имеете в виду: собственный шаблон плагина или шаблон темы дизайна.

  • Denis 31 августа 2017 10:13

    Понял. Спасибо! Если будут вопросы открою другую тему.

    Вы мне очень помогли.



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