Плагин не видит 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 ответа

  • 1

    Из-за чего webasyst может не цеплять файл settings.php?

    Проверьте права доступа. Убедитесь что файл называется именно так, и нет опечаток. В остальном, раз уж вы чистили кеш, все должно работать ))

    • +1
      Sekir Bashka Sekir Bashka 20 декабря 2022 16:16 #

      файл называется settings.php

      Неоднократно переименовывал его как вручную, так и путем копирования названия из документации.

      доступ на чтение и запись для директории плагина и всех вложенных файлов для всех пользователей у себя на локалке сделал, почистил кэш. Все равно настройки не видно

  • 1

    приведите код plugin.php, нет ли там shop_settings = true?


    как вариант, поменять my_setting (не знаю, что там на самом деле) на что-то другое, вдруг в какое-то зарезервированное имя попали )))))

    • +1
      Sekir Bashka Sekir Bashka 20 декабря 2022 16:11 #

      <?php
      
      return array(
          'name' => 'bonuscontactsync', // название плагина
          'img'  => 'img/bonuscontactsync.png', // относительный путь к файлу иконки плагина (16*16px), обычно в поддиректории img/ 
          'description' => 'Синхронизирует статус бонусных контактов с 1С',
          'vendor' => 'Борзенко Сергей Андреевич',
          'version' => '1',
          'frontend' => true,
      );

      • +1

        попробуйте скопировать settings.php из другого плагина ))))))))) 

        • +1
          Sekir Bashka Sekir Bashka 20 декабря 2022 16:25 #

          пробовал(

          и как содержимое, и как сам файл целиком

        • +1

          а вообще я сегодня поймал глюк, когда купленный на месяц плагин и установленный через Инсталлер, не отображался в списке "Установленных", пока я его с бубном (в обход стандартных процедур) не включил он не появлялся.  Поэтому не удивлюсь никаким приколам с локальными плагинами.

          • +1
            Sekir Bashka Sekir Bashka 20 декабря 2022 16:31 #

            закинул на боевой. там настроек тоже не появилось. Бред какой-то. Раньше с этим никогда проблем не было(

            • +1

              а в логах есть чо? ну мало ли какая-то критическая ошибка в классе плагина, а вы туда просто не смотрите.

              • +1
                Sekir Bashka Sekir Bashka 20 декабря 2022 16:41 #

                в вебассистовских логах ничего особо не вижу в интересующем меня временном промежутке.

                по какой-то причине он тупо файл не цепляет. даже когда я добавил die(); перед return ничего не произошло. В другом плагине как и ожидалось все было убито

                • +1

                  если поверить в теорию, что просто у вас где-то копия этого плагина......удалите плагин полностью )))) он пропадёт из инсталлера?

                  • +1
                    Sekir Bashka Sekir Bashka 20 декабря 2022 16:45 #

                    3 раза удалял его через инсталлер, 2 раза удалял его путем просто удаления папки. во всех случаях он пропадал из инсталлера. Ну и в каждом из случаев после каждого вздоха я чистил кэш

                  • +1
                    Sekir Bashka Sekir Bashka 20 декабря 2022 16:48 #

                    Сейчас попробую сначала сделать еще плагин, под другим, более коротким названием, и в первую очередь закину туда настройки.. заведутся настройки в новом плагине, ну и пофиг. будет другое название. Как закончу отпишу о результате..

                  • +1
                    Sekir Bashka Sekir Bashka 20 декабря 2022 17:08 #

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

    • +1
      Sekir Bashka Sekir Bashka 20 декабря 2022 16:25 #

      как вариант, поменять my_setting (не знаю, что там на самом деле) на что-то другое, вдруг в какое-то зарезервированное имя попали )))))

      Вряд ли настоящее имя пересекалось с зарезервированным, но на всякий случай заменил на "asdasdasdasdasd", почистил кэш, выключил плагин, почистил кэш, включил плагин, почистил кэш, зашел в настройки - пусто. вряд ли "asdasdasdasdasd" зарезервировано...

  • 1
    creativit.ru Эксперт Разработчик 20 декабря 2022 16:46 # Решение

    а если переименовать папку/классы? ))))   грубо говоря, сделайте новый плагин )))) 


    есть у меня после моего сегодняшнего глюка подозрения на средства лицензирования......а так как там кеш в БД хранится, то могу предположить, что допустим из-за отсутствия лицензии на этот плагин что-то было заблокировано......вот такой я фантазёр

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

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