DimWeb 21 Жалоба Опубликовано: July 10, 2017 В прошлой версии cms в модели re_config было заложено поле vtype где указывали тип инпута, сейчас после обновления это поле пропало и настройки стали type=text, вместо желаемого type=checkbox. Какую инструкцию следует указать в плагине для фиксации настроек-чекбоксов? Вариант - дополнить через /apps/config/admin/config_mask.php - не вариант. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DimWeb 21 Жалоба Опубликовано: July 10, 2017 ... function __construct() { parent::__construct(); require_once (SITEBILL_DOCUMENT_ROOT.'/apps/config/admin/admin.php'); $config_admin = new config_admin(); if ( !$config_admin->check_config_item('apps.custom.enable') ) { $config_admin->addParamToConfig('apps.custom.enable','1','Использовать Custom'); } $this->app_title = 'Custom App'; } ... интересует участок кода админки приложения ^^ Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Дмитрий Кондин 690 Жалоба Опубликовано: July 11, 2017 /apps/config/admin/admin.php function addParamToConfig($conf_new_param_name, $conf_new_param_value, $conf_new_param_title, $vtype = 0) { $DBC = DBC::getInstance(); $query = "INSERT INTO " . DB_PREFIX . "_" . $this->table_name . " (config_key, value, title, vtype) VALUES (?,?,?,?)"; $stmt = $DBC->query($query, array($this->validateParam($conf_new_param_name), $this->validateParam($conf_new_param_value), $this->validateParamTitle($conf_new_param_title), $vtype), $row, $success); if (!$success) { //$this->riseError($DBC->getLastError()); //echo 'ERROR ON INSERT<br>'; } $config_id = $DBC->lastInsertId(); $query = "UPDATE `" . DB_PREFIX . "_" . $this->table_name . "` SET `sort_order`=? WHERE `id`=?"; $stmt = $DBC->query($query, array($config_id, $config_id)); $this->reloadCheckConfigStructure(); return TRUE; } $vtype - по-умолчанию 0. Вы можете поставить 1 и будет это чекбокс при создании параметра. $config_admin->addParamToConfig('apps.custom.enable','1','Использовать Custom', 1); Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DimWeb 21 Жалоба Опубликовано: July 11, 2017 2 часа назад, rumantic сказал: /apps/config/admin/admin.php $vtype - по-умолчанию 0. Вы можете поставить 1 и будет это чекбокс при создании параметра. Я же указал свой контекст - В 10.07.2017 в 16:11, DimWeb сказал: ... function __construct() { parent::__construct(); require_once (SITEBILL_DOCUMENT_ROOT.'/apps/config/admin/admin.php'); $config_admin = new config_admin(); if ( !$config_admin->check_config_item('apps.custom.enable') ) { $config_admin->addParamToConfig('apps.custom.enable','1','Использовать Custom'); } $this->app_title = 'Custom App'; } ... интересует участок кода админки приложения ^^ Размазывать по сторонним контроллерам логику отдельного приложения - не вариант. И код выше не будет работать, т.к.... В 10.07.2017 в 16:04, DimWeb сказал: сейчас после обновления это поле пропало Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DimWeb 21 Жалоба Опубликовано: July 11, 2017 собственно, код моего /apps/config/admin/admin.php в котором отсутствует и аргумент и поле function addParamToConfig($conf_new_param_name,$conf_new_param_value,$conf_new_param_title){ $DBC=DBC::getInstance(); $query="INSERT INTO ".DB_PREFIX."_".$this->table_name." (config_key, value, title) VALUES ('".$this->validateParam($conf_new_param_name)."','".$this->validateParam($conf_new_param_value)."','".$this->validateParamTitle($conf_new_param_title)."')"; $stmt=$DBC->query($query); if ( !$stmt ) { //echo 'ERROR ON INSERT<br>'; } $config_id = $DBC->lastInsertId(); $query = "update ".DB_PREFIX."_".$this->table_name." set sort_order=$config_id where id=$config_id"; $stmt=$DBC->query($query); $this->reloadCheckConfigStructure(); return TRUE; } Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DimWeb 21 Жалоба Опубликовано: July 11, 2017 Разобрался. Пропало не после обновления, а на старой 3.0 версии. В 3.2 и в 3.3 все ок работает. Спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: July 11, 2017 а что за код и для чего тут ?? нам тоже интересно для понимания :)) что он делает - что дает и за что отвечает? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: July 11, 2017 2 часа назад, doma сказал: а что за код и для чего тут ?? нам тоже интересно для понимания :)) что он делает - что дает и за что отвечает? Для того что бы понимать любые коды нужно изучать языки программирования. Постом выше пользователь вносил изменения для себя и вам это вряд ли подойдет. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
doma 22 Жалоба Опубликовано: July 11, 2017 Только что, TopRaN сказал: Для того что бы понимать любые коды нужно изучать языки программирования. Постом выше пользователь вносил изменения для себя и вам это вряд ли подойдет. это мы понимаем, что что нужно и много изучать и много что знать, но прочитывая и спрашивая тут - просто следя за ответами, можно тоже чему то учиться. ну и если вы видите как кто то колесо ремонтирует илинапример что то делает с ним - лично мне было бы интересно и полезно узнать , опыт будет да и вдруг где в дороге пригодится. так что наше любопытство лишь для пользы - хотя заметили такую вещь, что что то "несерьезное" на сайте обсуждается гораздо больше и чаще -нежели то что действительно идет на развитие проекта и удобство пользователей например :)) простой пример -как например просматривая само объявление (не в сетке своих объявлений) применить сразу услуги вип премиум или болд -задаваемый нами вопрос так и не решен хотя на наш взгляд было бы приятно услышать ответ и найти решение -так как это удобство пользователя и меньшее кол-во кликов, чтобы сделать удобно пользователю Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
DimWeb 21 Жалоба Опубликовано: July 12, 2017 21 час назад, doma сказал: а что за код и для чего тут ?? нам тоже интересно для понимания :)) что он делает - что дает и за что отвечает? Он ничего не делает, это абстрактная конструкция для упрощения понимания сути вопроса относительно возможностей API в CMS. А код ниже, приведенный @rumantic - вырезка из ядра, отвечающая за добавление новой настройки в реестр настроек. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах