ms2 msOption что-то пошло не так
Проблема с msOption если ключ начинается с цифры то получаем ошибку :)
if(!$opt = $modx->getObject('msOption', array('key' => '135x205sm'))){
$opt = $modx->newObject('msOption');
$opt->set('key', "135x205sm","string"); //стандарный сет имеет третий параметр - игнорируется.
$opt->set('caption',"TEST");
$opt->set('category',0);
$opt->set('type','textfield');
if (!$opt->save()) {echo "ups";} //упс :)
else {echo "ok:".$opt->id; }
}
Мне кажется это всё-таки баг :) Комментарии: 2
попробуйте прежде перед сохранением проверить валидность объекта
опции с таким ключем исключены.
if (!$opt->validate()) {
$validator = $opt->getValidator();
print_r($validator->getMessages());
}
судя по этому github.com/bezumkin/miniShop2/blob/master/core/components/minishop2/model/schema/minishop2.mysql.schema.xml#L475опции с таким ключем исключены.
Спасибо, Володь.
Да, я уже посмотрел, смущает тип самого поля key в базе varchar. по сути добавив "_" в началу ключа проблема становится исчерпана. Непонятна первопричинность такой конкретики с цифрами вначале. есть сомнения что они что-то ломают :) т.к. не зря же мы type указываем.
Да, я уже посмотрел, смущает тип самого поля key в базе varchar. по сути добавив "_" в началу ключа проблема становится исчерпана. Непонятна первопричинность такой конкретики с цифрами вначале. есть сомнения что они что-то ломают :) т.к. не зря же мы type указываем.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.