У нас возни некоторые проблемы при импорте товаров.
Проблема №1
При тестовом импорте 21 товара в базу попадает только 17. При этом по окончанию импорта я вижу следующее сообщение
Импорт данных завершен успешно.
Результаты по товарам:
Было добавлено товаров: 17
Обновлено товаров: 4
Результаты по видам товара:
Было добавлено видов товара: 17
Неизменившихся видов товара: 4
Результаты по брендам:
Было добавлено брендов: 1
Результаты по категориям:
Было добавлено категорий: 4
Для чистоты эксперимента были проделаны следующие действия:
Были удалены все бренды, товары и категории.
Используя очистку кэшей, и выбрав все пункты, были почищены все кеши.
Выполнился повторный импорт. Но к сожалению я увидел снова вот такой результат
Результаты по товарам:
Было добавлено товаров: 17
Обновлено товаров: 4
Результаты по видам товара:
Было добавлено видов товара: 17
Неизменившихся видов товара: 4
Результаты по брендам:
Было добавлено брендов: 1
Результаты по категориям:
Было добавлено категорий: 4
Шаблон для импорта выглядит следующим образом:
pCode, category, category2, category3, category4, model, skip, skip, oldPrice, price, annotation, description, largeimage, smallImage, images, brand, quantity
Так же я прикрепляю тестовый файл для импорта. csv-84153284341547336228573524223046_1.csv (73 кбайт)
Поскольку база пуста то как оно определило что есть 4 вида не изменившихся товаров и если эти 4 вида есть то почему в списке товаров я вижу только 17?
Если первая колонка вашего CSV - это идентификатор товара, тогда вместо мнемоники pCode надо было использовать productId. Тогда будет импортировать как надо - все 21 товара.
В отсутствие колонки productId товар ищется по его названию. Тогда логично импортировало 17 товаров и 4 раза обновило уже существующий к тому моменту товар (отсортируйте ваш CSV по колонке model - обратите внимание, что там 4 строки это дубликаты названий товаров, вот они невольно и понимались как "еще раз обновить товар с таким названием").
Если код товара у вас уникален, то есть его можно использовать как числовой идентификатор, я бы поменял ваш шаблон импорта следующим образом
pCode+productId, category, category2, category3, category4, model, skip, skip, oldPrice, price, annotation, description, largeimage, smallImage, images, brand, quantity
То есть приказал бы импорту значение первой колонки копировать как в поле буквенного кода товара, так и сразу назначать ему такой же идентификатор.
Далее, если большое и малое фото у вас одинаковое (использует один и тот же файл), от колонки smallImage вообще можно было отказаться, а шаблон модифицировать так
pCode+productId, category, category2, category3, category4, model, skip, skip, oldPrice, price, annotation, description, largeImage+smallImage, images, brand, quantity
То есть 14-ую колонку удалили из CSV, а в мнемонике 13-ой колонки прописали, что значение этой колонки заносить в поле большой фотографии товара + сразу копировать и в поле малой фотографии товара.
Иногда может оказаться удобной такая мнемоника model+url, то есть название товара сразу копировать и в поле URL (оно автоматически транслитерируется, если товар имел русское название). Однако использовать нужно осторожно, иначе в случае одинаково названных товаров рискуем получить множество товаров, "висящих" по одному адресу, что приведет к невозможности просматривать их на клиентской стороне (будет виден лишь один из них, остальные окажутся недоступными для просмотра).
Если мнемонику url вообще не указываем, тогда движок пытается сам склеить адрес ссылки из транслитерации колонок category, category2, category3, category4, model плюс в конец добавляет идентификатор товара, чтобы не нарваться на одинаковые URL-и так же именованных товаров, возможно размещенных в тех же категориях. Например
Sbornye-bassejny/Bassejn-INTEX/kruglyj/Easy-Set/Bassejn-INTEX-kruglyj-Easy-Set-244kh76-sm-57977
Проблема №2
При удалении товаров из базы и новом их добавлении у нас ссылка на товар становится очень длинной. Пример:
http://сайт/сайт/products/Sbornye-bassejny/Bassejn-INTEX/kruglyj/Easy-Set/Bassejn-INTEX-kruglyj-Easy-Set-244kh76-sm-57977
слово "сайт" дублируется множество раз, это означает что если мы несколько раз товар удалим и заимпортируем то получим примерно вот такую ссылку:
http://сайт/сайт/сайт/сайт/сайт/сайт/products/Sbornye-bassejny/Bassejn-INTEX/kruglyj/Easy-Set/Bassejn-INTEX-kruglyj-Easy-Set-244kh76-sm-57977
Первый раз наблюдаю такой дефект. Происхождение непонятно, к импорту или адресам товаров не имеет отношения. Это что-то связанное с парсингом URL.
захожу на сайт - http://сайт
перехожу в любую категорию - http://сайт/сайт/категория
открываю любой товар - http://сайт/сайт/сайт/товар
снова перехожу в категорию - http://сайт/сайт/сайт/сайт/категория
и так далее - URL ссылки неясно из-за чего растет, при этом никакой ошибки не происходит
Если же запомнить адрес ссылки, закрыть браузер, а потом открыть и ввести http://сайт/сайт/сайт/сайт/категория - выдает "Нет такой страницы".
То есть ошибка происходит либо внутри шаблона (проверьте будет ли работать на дефолтном шаблоне?), либо ошибка происходит оттого, что сайт размещен в папке сайт домена сайт, которая является указателем на субдомен этого домена (но как-то нелогично).
Дело в том, что на хостинге можно создать субдомен, который будет иметь свою независимую папку, а можно создать в виде папки, располагающейся в папке основного домена. Может быть здесь происходит наложение URL-ей и как следствие неверный их парсинг?
Во всяком случае сложно гадать, не имея непосредственного доступа к скриптам сайта, чтобы понять, где же происходит рост ссылки.
Проблема №3
Даже после удаления товаров и очистки кешей на сайте остаются ссылки на несуществуюющие товары.
Я так понял, это в адресной строке браузера на время сеанса остается ссылка на товар, который уже удалили. Если закрыть браузер и зайти на сайт заново, то уже будет показывать, что в категориях пусто.
Проблема №4
При импорте у нас цену указанны уже в рублях (в csv файле), но после проведения импорта обнаруживается что цены были восприняты в долларах и произошла автоматическая конвертация в рубли. Как пример товар с кодом 50318 имеет цену 4064 (в csv файле) а после импорта товара на сайт я вижу цену 109504 rub, хотя это не правильно, там должна была быть цена 4064 rub.
Видимо, у вас на сайте базовой валютой выбрана Доллар. Все внутренние операции, в том числе и импорт, производятся в базовой валюте сайта. А вывод на клиентской стороне и в админпанели уже производится в той валюте, которая выбрана для них по умолчанию. Смените базовую валюту сайта на Рубли - должно показывать правильно.