Как при сохранении в БД изменить поле old_price
Столкнулся с проблемой, почему-то не получается у меня изменить поле old_price. при сохранении через админку, в БД в поле записывается значение 0, а мне нужно NULL.
Купил я mFilter2, пытаюсь настроить чтобы фильтр выводи СКИДКИ И АКЦИИ. логично чтобы поле было NULL и если есть акция, то какаято цена.
на bezumkin.ru/modx/minishop2/classes/910/ не помню где но нашел что если в фильтре прописать ms|old_price:boolean, то фильтр выведет все значения где есть какие-то записи.
Так вот, БД я изменил вот скрин: yadi.sk/i/WBnYgCLGhMxkM
после подключения файла /assets/components/minishop2/plugins/pluginname/msproductdata.js
прописал в core/components/minishop2/plugins/availability/model/msproductdata.map.inc.php так:
return array(
'fields' => array(
'old_price' => NULL,
)
,'fieldMeta' => array(
'old_price' => array(
'dbtype' => 'decimal',
'precision' => '12,2',
'phptype' => 'float',
'null' => true,
'default' => NULL
),
),
'indexes' =>
array (
'old_price' =>
array (
'alias' => 'old_price',
'primary' => false,
'unique' => false,
'type' => 'BTREE',
'columns' =>
array (
'old_price' =>
array (
'length' => '',
'collation' => 'A',
'null' => true,
),
),
),
),
и после этого добавил в файл assets/components/minishop2/plugins/availability/msproductdata.jsminiShop2.plugin.pluginname = {
getFields: function(config) {
return {
old_price: {xtype: 'numberfield', decimalPrecision: 2, description: '[[+old_price]]
'+_('ms2_product_old_price_help')},
}
}
,getColumns: function() {
return {
old_price: {width:50, sortable:true, editor: {xtype:'numberfield', name: 'old_price'}},
}
}
};
Скажите что я сделал не так, или где нужно подкрутить.Спасибо.
Комментарии: 3
судя по всему, в админке при сохранении подставляются нули. ((
Оно бы, может, и записывалось в БД как null, если бы из админки не отправлялось вообще никакого значения для old_price. А так ExtJS поле отправляет 0 — оно и записывается в БД.
Но проблема даже не в этом, а в том, что
Поправил это и выложил новую версию mSearch2 — можно обновляться.
Но проблема даже не в этом, а в том, что
empty('0.00') !== true
То есть, такое значение не считается пустым в PHP.Поправил это и выложил новую версию mSearch2 — можно обновляться.
спасибо
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.