23 июля, 20231 yr Author comment_194968 Разобрался. Нужно было в хуке наследоваться от класса core\modules\front\system\plugins при создании плагина. class hook91 extends _HOOK_CLASS_ { public function getFileVersions() { $result = array( 'data' => \IPS\Db::i()->select('b_version', 'downloads_filebackup', array('b_fileid=?', (int) \IPS\Request::i()->gamefile), 'b_version DESC')); \IPS\Output::i()->json($result); } } В JS коде затем вызывать так: ips.getAjax()(ips.getSetting('baseURL') + 'index.php?app=core&module=system&controller=plugins&&do=getFileVersions&id=3', { type: 'get', }) В ответе получаем: Object { data: (1) […] } data: Array [ "2.0.0" ] 0: "2.0.0" length: 1
23 июля, 20231 yr comment_194972 2 часа назад, edmsl сказал: Разобрался. Нужно было в хуке наследоваться от класса core\modules\front\system\plugins при создании плагина. Да, это самый простой вариант, и он описан у разработчика в доках Можно и на любой другой контроллер повесить (путь до них идет через папку modules нужного приложения) и расширив его нужной функцией, после так же обратиться через do Edited 23 июля, 20231 yr by Exception
26 июля, 20231 yr Author comment_195029 В форме для создания записи о баге имеются поля: Спойлер Основное поле, первое, это то, что записывает данные в базу данных, ниже - это доп. контроллер, который через JS меняет значение основного. И так для двух полей. Проблема в том, что хотелось бы отключить возможность изменять значения основных полей вручную. Конечно, я их скрываю, да и вряд ли кто-то будет с этим заморачиваться, чтобы внести некорректные данные. Но все же. Если прописать полям атрибут disabled через $input->options['disabled']=true;, то значения не отправляются с формой, даже если значение стоит. Так уж устроены формы. Можно было бы прописать атрибут readonly, но такого атрибута нет в options! Как так, IPS? Если прописать $input->options['readonly]=true;, то это, естественно, не работает. Я пробовал основным полям ставить тип SelectBox, а потом менять список <options> в шаблоне $input->options['options'] = $arr;, но тогда при сохранении пишет, что значение недопустимо. В общем, как можно запретить редактировать основные поля напрямую?
27 июля, 20231 yr Author comment_195063 Какую настройку нужно активировать в админке, чтобы это условие сработало? \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'search' ) ) Поиском пользоваться могу. Edited 27 июля, 20231 yr by edmsl
30 июля, 20231 yr comment_195175 В 27.07.2023 в 18:35, edmsl сказал: Какую настройку нужно активировать в админке, чтобы это условие сработало? \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'search' ) ) Поиском пользоваться могу. Это проверка доступа к модулю, к модулям приложений разрешения меняются на странице приложений
31 июля, 20231 yr Author comment_195185 Exception Да, спасибо, уже разобрался. Проблема была вовсе не с этой строкой даже.
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.