Плагин не видит settings.php Есть решение
Есть самописный плагин для Shop-Script. Он работает.
Хочу один параметр вынести в настройки.
по пути /wa-apps/shop/plugins/myplugin/lib/config/ создаю файл settings.php
Этот файл имеет следующее содержимое:
<?php return array( 'my_setting' => array( 'title' => 'Название настройки', 'description' => 'Текст описания настройки', 'value' => 'my_default_value', 'control_type' => waHtmlControl::INPUT, 'control_separator' => '<hr>', ), );
Чистил Кэш в инсталлере. Чистил Кэш в Webasyst. Отключал плагин, потом чистил оба кэша, потом включал плагин, потом снова чистил оба кэша, 100500 раз чистил кэш инсталлера и вебассиста, по этому прошу не надо отвечать: "почисти кэш".
Когда я захожу в Магазин->Плагины->Мой плагин то вижу сообщение о том, что плагин установлен и работает, и "Для этого плагина нет доступных настроек."
Это не первый мой плагин. Раньше все норм было. Из-за чего webasyst может не цеплять файл settings.php? как это победить? (Устанавливать в файле plugin.php параметр 'custom_settings'=>true не вариант. не хочется верстать страничку с настройками и описывать процесс их сохранения ради одного единственного параметра)
24 ответа
Проверьте права доступа. Убедитесь что файл называется именно так, и нет опечаток. В остальном, раз уж вы чистили кеш, все должно работать ))
файл называется settings.php
Неоднократно переименовывал его как вручную, так и путем копирования названия из документации.
доступ на чтение и запись для директории плагина и всех вложенных файлов для всех пользователей у себя на локалке сделал, почистил кэш. Все равно настройки не видно
А нет ли у вас второго каталога с копией этого плагина...?
приведите код plugin.php, нет ли там shop_settings = true?
как вариант, поменять my_setting (не знаю, что там на самом деле) на что-то другое, вдруг в какое-то зарезервированное имя попали )))))
попробуйте скопировать settings.php из другого плагина )))))))))
пробовал(
и как содержимое, и как сам файл целиком
а вообще я сегодня поймал глюк, когда купленный на месяц плагин и установленный через Инсталлер, не отображался в списке "Установленных", пока я его с бубном (в обход стандартных процедур) не включил он не появлялся. Поэтому не удивлюсь никаким приколам с локальными плагинами.
закинул на боевой. там настроек тоже не появилось. Бред какой-то. Раньше с этим никогда проблем не было(
а в логах есть чо? ну мало ли какая-то критическая ошибка в классе плагина, а вы туда просто не смотрите.
в вебассистовских логах ничего особо не вижу в интересующем меня временном промежутке.
по какой-то причине он тупо файл не цепляет. даже когда я добавил die(); перед return ничего не произошло. В другом плагине как и ожидалось все было убито
если поверить в теорию, что просто у вас где-то копия этого плагина......удалите плагин полностью )))) он пропадёт из инсталлера?
3 раза удалял его через инсталлер, 2 раза удалял его путем просто удаления папки. во всех случаях он пропадал из инсталлера. Ну и в каждом из случаев после каждого вздоха я чистил кэш
Сейчас попробую сначала сделать еще плагин, под другим, более коротким названием, и в первую очередь закину туда настройки.. заведутся настройки в новом плагине, ну и пофиг. будет другое название. Как закончу отпишу о результате..
создал балванку нового плагина. настройки появились.. как же я обожаю подобные глюки..
Вряд ли настоящее имя пересекалось с зарезервированным, но на всякий случай заменил на "asdasdasdasdasd", почистил кэш, выключил плагин, почистил кэш, включил плагин, почистил кэш, зашел в настройки - пусто. вряд ли "asdasdasdasdasd" зарезервировано...
а если переименовать папку/классы? )))) грубо говоря, сделайте новый плагин ))))
есть у меня после моего сегодняшнего глюка подозрения на средства лицензирования......а так как там кеш в БД хранится, то могу предположить, что допустим из-за отсутствия лицензии на этот плагин что-то было заблокировано......вот такой я фантазёр
а я выше в общем это уже и сделал. сработало
главное, чтобы через сутки, когда пойдет очередная проверка лицензирования не отключило нахрен )))))) если дело в этом
У меня в основном классе плагина был использован конструктор. Оказывается если использовать конструктор, то настройки отваливаются..
либо надо не забыть вызвать родительский конструктор в своём конструкторе
в этом моменте можно подробней?
parent::__construct (); внутри своего __construct
спасибо