Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Цены в интернет магазине

18.07.2013, 17:37
Гость
Гость

В интернет магазине через импорт загружаю товар, цены разные, например:
цена стоит в csv 0,69 то есть 69 копеек когда импортирую отображается 0,00

также с другими числами цена в csv 11 900,50 отображается 11900,00

Формат данного поля подразумевает ввод цифр с плавающей запятой. Такое поле можно использовать для ввода цены, когда после запятой нужно ввести копейки либо для ввода точных значений.

Например: 2000,52 руб.
19.07.2013, 10:25
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 386

Вы уверены, что формат поля установлен, как число с плавающей запятой? Может всё-таки в компоненте используется поле - целое число? А нули просто прописаны в компоненте, поэтому они и подставляются к любому числу. Хотя, если цена 0,69, то по идее целое число будет 1, потому как округлиться должно в большую степень.

Каким образом импортируете товары? Может в коде самого импорта какие-то ошибки?

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
19.07.2013, 14:34
Гость
Гость

поле Price стоит именно число с плавающей запятой!

файл csv, формат столбца с ценами денежный. перед тем как файл загрузить кдировку меняю в utf-8

импорт происхлдит через файл:
Код:

<?

/* config */
/**********/
$first = 1; // строка с которой начинаются значения
$arFields = array("0"=>"ItemID", "1"=>"Name", "2"=>"Price", "3"=>"Units", "4"=>"GroupName",); // связь столбцов и полей компонента
$sub=122; // id раздела
$cc=239; // id компонента в разделе
$file="kamazzpnew.csv";
$class=232; // id компонента
$control=0; // столбец контроля (начиная с 0)
/**********/

require_once "vars.inc.php";
require $INCLUDE_FOLDER."index.php";

/* обработка csv */
$fp = fopen($file,"r");
while ($data = fgetcsv ($fp, 1000, ";")) {
$i++;
if($i<$first || !trim($data[$control])) continue;


$insert = "INSERT INTO Message$class(";
foreach($arFields as $id=>$key) $insert.="$key,\n";
$insert.="
Subdivision_ID,
Sub_Class_ID,
Checked,
Created
) VALUES(";
foreach($arFields as $id=>$key) $insert.="'".$data[$id]."',\n";
$insert.="
$sub,
$cc,
1,
NOW()
)
ON DUPLICATE KEY UPDATE
ItemID = '$data[0]',
Name = '$data[1]' ,
Price = '$data[2]' ,
Units = '$data[3]' ,
GroupName = '$data[4]'


";


$db->query($insert) or die(mysql_error());
$success++;



}
echo "Обработано. Добавлено $success объектов.";
?>

19.07.2013, 15:30
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 386

Ошибок каких-то вроде нет. Может в компоненте товара всё-таки что-то где-то не так?

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
19.07.2013, 18:28
Гость
Гость

разобрался! дела в колонке с ценами

10 789,90 ---> импорт без проблем 10789.90 без пробелом и запятую заменил на точку.
198 196 2013-07-19 18:28:08 13166
Описание проекта