Posted 6 сентября, 20177 yr comment_135894 При создании плагина создается файл dev/setup/install.php, но при формировании xml плагина он туда не попадает. Соответственно при установке ничего из этого файла не выполняется. Возможно ли и какие файлы/методы надо реализовать, чтобы выполнялись какие-то дополнительные шаги при установке плагина? И также с удалением: есть ли способ добавить свои шаги при удалении? Речь именно о плагине, не о приложении. Link to comment https://ipbmafia.ru/topic/18249-ustanovkaudalenie-plagina/ Share on other sites Больше вариантов
6 сентября, 20177 yr comment_135896 13 минут назад, qdev сказал: Возможно ли и какие файлы/методы надо реализовать, чтобы выполнялись какие-то дополнительные шаги при установке плагина? И также с удалением: есть ли способ добавить свои шаги при удалении? В плагине так само есть "секции" с классами где вы описываете все действия при установке/обновлении/удалении. Посмотрите что-ли какой-нить для примера, думаю будет понятней чем на пальцах. Edited 6 сентября, 20177 yr by MIXOH Link to comment https://ipbmafia.ru/topic/18249-ustanovkaudalenie-plagina/?&do=findComment&comment=135896 Share on other sites Больше вариантов
6 сентября, 20177 yr comment_135904 50 минут назад, qdev сказал: айл dev/setup/install.php, но при формировании xml плагина он туда не попадает Ну если в твоем коде есть синтаксическая ошибка, то не попадет. А еще возможно версию задать принудительно при создании плагина. 52 минуты назад, qdev сказал: И также с удалением: есть ли способ добавить свои шаги при удалении? Создаешь в паке плагина файл uninstall.php и пишешь там код на удаление. Вот пример одного из моих плагинов <?php /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } if( \IPS\Db::i()->checkForColumn( 'cms_database_fields', 'field_validator_extra' ) ) { \IPS\Db::i()->dropColumn( 'cms_database_fields', 'field_validator_extra' ); } if( \IPS\Db::i()->checkForColumn( 'core_pfields_data', 'pf_validator_extra' ) ) { \IPS\Db::i()->dropColumn( 'core_pfields_data', 'pf_validator_extra' ); } Link to comment https://ipbmafia.ru/topic/18249-ustanovkaudalenie-plagina/?&do=findComment&comment=135904 Share on other sites Больше вариантов
6 сентября, 20177 yr Author comment_135906 1 hour ago, kgb said: Ну если в твоем коде есть синтаксическая ошибка, то не попадет. Это как проверить? Если при работе ошибок нет. Логи вроде тоже чистые. Куда копать, где искать? Link to comment https://ipbmafia.ru/topic/18249-ustanovkaudalenie-plagina/?&do=findComment&comment=135906 Share on other sites Больше вариантов
6 сентября, 20177 yr Author comment_135924 Вроде разобрался. Надо сначала в Developer Center создать версию. в dev/setup появляется файл с номером версии. Он-то и попадает в итоговый xml. И спасибо за подсказку про uninstall.php Link to comment https://ipbmafia.ru/topic/18249-ustanovkaudalenie-plagina/?&do=findComment&comment=135924 Share on other sites Больше вариантов
6 сентября, 20177 yr comment_135936 1 час назад, qdev сказал: . в dev/setup появляется файл с номером версии /dev появляется файл versions.json, а тот что в dev/setup с номером в принципе можно удалить, а все писать в install.php Link to comment https://ipbmafia.ru/topic/18249-ustanovkaudalenie-plagina/?&do=findComment&comment=135936 Share on other sites Больше вариантов
6 сентября, 20177 yr Author comment_135946 Может, что не так делаю, но то, что в install.php не попадает в xml Link to comment https://ipbmafia.ru/topic/18249-ustanovkaudalenie-plagina/?&do=findComment&comment=135946 Share on other sites Больше вариантов
7 сентября, 20177 yr Author comment_135956 14 hours ago, kgb said: /dev появляется файл versions.json, а тот что в dev/setup с номером в принципе можно удалить, а все писать в install.php хотя вы правы. Спасибо Link to comment https://ipbmafia.ru/topic/18249-ustanovkaudalenie-plagina/?&do=findComment&comment=135956 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.