Условия выполнения install.php

Уважаемые разработчики, объясните пожалуйста - при каких условиях выполняется install.php при установке плагина?

Прописываю я свой плагин в wa-config/apps/shop/plugins.php и что дальше? Как его инициировать?

8 ответов

  • 0
    Михаил Ушенин Webasyst 24 октября 2013 03:51 #
    Код в этом файле выполняется при установке плагина с помощью Инсталлера.
    • 0
      Денис Старовойтов Денис Старовойтов 24 октября 2013 04:22 #
      А что делать тогда?

      Есть варианты решения проблемы?

      Я пробовал ч/з db.php добавить таблицы, но насколько я понял не сработало.

      Если скрипт планируется устанавливать не через инсталлер то SQL накатывать ручками?
    • 0
      Владислав Горлов Владислав Горлов Webasyst 24 октября 2013 10:12 #
      Неверно.
      Инсталлер только добавляет в plugins.php запись о новом плагине и очищает кеш.
  • 1
    Владислав Горлов Webasyst 24 октября 2013 10:14 #
    процедура установки плагина инициируется при первом обращении к плагину.
    Обращение происходит при явном обращении к плагину - при срабатывании хука, либо при открытии страницы его настроек.
    Если это обращение не первое, то установка не будет вызвана. Так же вызова не будет, если кеш не содержит записи о новом плагине (это обычно бывает при ручной установке).
  • 1
    Денис Старовойтов 25 октября 2013 03:31 #
    Да действительно, проверять правильность установки надо на чистой системе, не на той на которой плагин разрабатывался.

    Переустановил фреймворк, и install.php плагина спокойно накатился при первом же обращении к плагину.

    Зачем нужна тогла галочка "Режим разработки" - это тайна покрытая fuckом.

    Спасибо Владислав.

    P.S. Техподдержка вебассиста уже привычно проигнорила элементарный вопрос. Требующий ответа "Да" или "Нет". Похоже тут можно действовать только через заказчика, заплатившего за вебассист. Разработчики тут приравнены к утопающим.
    • 0
      Леонид Вакуленко Леонид Вакуленко Webasyst 25 октября 2013 04:21 #
      Не обижайте техподдержку, она не виновата. Это был не простой вопрос.

      По теме.

      install.php приложений и плагинов выполняется при первом обращении к приложению и плагину. То есть когда срабатывает один из хуков, на которые подписан плагин, или при попытке открыть страницу приложения в бэкэнде или фронтэнде. При условии, конечно, что плагин или приложение включены - в случае с приложениями это файл wa-config/apps.php, а в случае с плагинами - wa-config/apps/appname/plugins.php. Формат конфигов в обоих случаях одинаковый: array( 'app or plugin id' => true ).

      Чтобы определить, первое это обращение или не первое, система проверяет наличие записи в талице wa_app_settings: app_id='appname' для приложения или app_id='appname.pluginname' для плагина. Если удалить эту запись (и почистить wa-cache), система забудет, что плагин был когда-то установлен, и выполнит install.php снова.
  • 0
    Ни чего не понятно.

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

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