× Здесь вы можете свободно общаться на русском языке. Просим отнестись с пониманием к тому, что мы не разговариваем на этом языке и не можем осуществлять поддержку на нем.

Импорт-Экспорт CSV

  • Posts: 382
  • Thank you received: 77
3 years 2 months ago #328161

На самом деле здесь много нюансов.
Набор полей зависит от вашей задачи.

Если вы сделали экспорт ваших товаров, поменяли какую-то информацию в csv-файле и грузите обратно в базу через импорт, то идентификатор товара задавать надо (по нему как раз будет найден тот уникальный товар, который надо модифицировать). Можно также задавать поля с префиксом product - product_name, product_description, ...
Идентификаторы с префиксом price, file не надо задавать. Точно можно задать price_value, file_name, file_description.
При этом при импорте надо снять/поставить галочки, так, чтобы если есть товар с заданным идентификатором, то по нему информация в базе данных менялась, а не новый товар добавлялся.

Если вы добавляете новые товары, то идентификаторы не надо указывать вообще. Иначе будут конфликты.

Лучший путь - экспериментировать. Возьмите пару товаров для начала. И те поля, которые вам нужно добавить/изменить.

Для полного переноса всех товаров сами разработчики рекомендуют использовать PHPMyAdmin или аналогичные средства для работы с таблицами MySQL - PHPMyAdmin или аналогичные.

Удачи!

The following user(s) said Thank You: Igor_UA

Please Log in or Create an account to join the conversation.

  • Posts: 57
  • Thank you received: 0
3 years 2 months ago #328211

Добрый вечер!
С самой проблемой экспериментальным путём разобрался. Но вот её причины мне остались непонятны.
В ходе решения проблемы было обнаружено, что Хика информацию о товарах и категориях разбрасывает по своим таблицам и очень объёмно ругается, когда при импорте товара ему присваиваются категории с помощью значений их ID, отказываясь их учитывать в процессе.
Проблема подвязки товара к категории решается путём переименования в csv-файле колонки "category_name" в "categories" ("category_id" при этом не используется). В этом случае Хика молча и спокойно связывает товар и категории. Но почему ей нужно это переименование, если колонки с таким именем нет в экспортируемом файле?

Please Log in or Create an account to join the conversation.

  • Posts: 382
  • Thank you received: 77
3 years 2 months ago #328217

На самом деле при экспорте товаров есть колонка "categories" - туда записываются категории товара (если вы поставили галочку для category_name), а их может быть несколько.
Вы правильно заметили, что Hikashop использует несколько таблиц для хранения товара. Например, есть таблица категорий и товаров, а есть таблица связей между ними, в ней хранятся связки идентификаторов товаров и категорий.
Логика при импорте у системы примерно такая:
- ищется товар с указанным идентификатором в таблице товаров _hikashop_product, если найден, то в этой таблице производятся изменения
- если указаны "categories", то в таблице категорий _hikashop_category ищутся все указанные категории, а потом пары идентификатора товара и найденных категорий ищутся в таблице _hikashop_product_category. Ненужные связки удаляются, а новые добавляются (если вы
поменяли категории для товара, какие-то убрали, какие-то добавили).
Также происходит и с другими таблицами, которые логически связаны с товарами - цены, файлы.

The following user(s) said Thank You: Igor_UA

Please Log in or Create an account to join the conversation.

  • Posts: 57
  • Thank you received: 0
2 years 7 months ago #334863

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

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 382
  • Thank you received: 77
2 years 7 months ago #334870

У меня сейчас нормально открываются файлы csv в excel, без заморочек со вставкой данных из текста...
Просто открыть в Excel.
И, что удивительно, всё описание вставляется в одну ячейку.
А вот если старым способом вставлять, то символы CRLF как разрыв строки интерпретируются.
Можно, конечно, сначала поработать с этим полем в базе (через массовые действия) и заменить все эти символы либо на пробелы, либо на <br>, ...
Вы как открываете файл?

Please Log in or Create an account to join the conversation.

  • Posts: 57
  • Thank you received: 0
2 years 7 months ago #334953

Данные - Получение внешних данных - Из текста - Выбираю файл

Please Log in or Create an account to join the conversation.

  • Posts: 382
  • Thank you received: 77
2 years 7 months ago #334986

Добрый день!
Попробуйте просто открыть csv-файл в Excel. Что получится?
Пробовали ли исправить данные через массовые действия?
Сделайте выгрузку пары типичных записей и прикрепите сюда файл. Посмотрю у себя.

The following user(s) said Thank You: Igor_UA

Please Log in or Create an account to join the conversation.

  • Posts: 57
  • Thank you received: 0
2 years 7 months ago #335024

Добрый день!
Просто открыть csv-файл в Excel получилось, данная проблема отсутствует.
Спасибо.

Please Log in or Create an account to join the conversation.

  • Posts: 57
  • Thank you received: 0
2 years 2 months ago #338429

Добрый день!
Я импортировал на сайт 963 артикула.
1. Хика выругалась о том, что поле "producing_country" почему-то не разрешено редактировать.
Понимаю, что это можно обойти, создав дополнительное поле, но не понимаю, зачем создавать дополнительное, если есть стандартное.
Можно ли решить проблему доступа именно к этому полю (поле "product_manufacturer_id" я использую для брендов)?
2. Подскажите, пожалуйста, как с помощью массовых действий прописать товарам алиасы и канонические ссылки?

Please Log in or Create an account to join the conversation.

  • Posts: 2293
  • Thank you received: 315
2 years 2 months ago #338441

2. канонические адреса прописываются примерно так: (адрес должен быть корректен с точки зрения joomla)


Я не явлюсь официальной службой поддержки!
Я здесь добровольно!

Хочешь получить купон на скидку Hikashop? Спроси меня как!
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 57
  • Thank you received: 0
2 years 2 months ago #338443

Проблема в том, что, не проставив алиасы, не получается создать каноническую ссылку.
При заданной конструкции "katalog/{product_alias}" на выходе получается ссылка "http://.../katalog/".
Есть ли возможность через массовые действия прописывать алиасы?

Please Log in or Create an account to join the conversation.

  • Posts: 2293
  • Thank you received: 315
2 years 2 months ago #338447

алиас у товара уже должен быть
без него товар не создается


Я не явлюсь официальной службой поддержки!
Я здесь добровольно!

Хочешь получить купон на скидку Hikashop? Спроси меня как!

Please Log in or Create an account to join the conversation.

  • Posts: 2293
  • Thank you received: 315
2 years 2 months ago #338448

изменить алиас можно - вопрос только откуда брать его значение?
в массовых действиях есть операция - "изменить значение". пожалуйста устанавливайте по любому закону который нравится


Я не явлюсь официальной службой поддержки!
Я здесь добровольно!

Хочешь получить купон на скидку Hikashop? Спроси меня как!

Please Log in or Create an account to join the conversation.

  • Posts: 57
  • Thank you received: 0
2 years 2 months ago #338458

Если товар создаётся поштучно, то с алиасом проблем нет, он создаётся автоматическим при сохранении, но, если товары импортировны с помощью CSV, то автоматического создания алиасов нет, и поле {product_alias} остаётся пустым.

Please Log in or Create an account to join the conversation.

  • Posts: 57
  • Thank you received: 0
2 years 2 months ago #338475

Николас помог.
Проблема решается следующим образом:
Установить фильтр в колонке товаров "product_alias= (пустое поле)";
установить следующий фильтр "тип товара = товары".
И указать действие "Run PHP code":

$productClass = hikashop_get('class.product');
$product = $productClass->get({product_id});
$product->product_alias = $product->alias;
unset($product->alias);
$productClass->saveRaw($product);

Please Log in or Create an account to join the conversation.

Moderators: progreccor
Time to create page: 0.089 seconds
Powered by Kunena Forum