Jump to content

Импорт


Recommended Posts

PRESTA безусловно отличный магазин, но в него штатным сособом нельзя залить большое количество товаров, не говоря уже о модуле импорта который отвратительно работает сsv файлами, а в версии 1.1 я вообще не наблюдаю сопоставления поля "PRICE".
Можно написать парсер для заливки прайса, можео еще что то, в любом случае когда речь идет о движке с MYsQL то всегда можно что т опридумать.

Речь пойдет о старом ACCESS.

Итак, наша задача:
1) синхронизировать базу PRESTA с ACCESS. (Не подключить, выкачать данные и все а именно синхронизировать!)

2) Создать связь между таблицами

3) Создать запрос который будет выводить одну таблицу с подставными столбцами из зависимых полей товара (Другими словами, 1 товар который мы видим в магазине черпает данные из нескольких таблиц. В Access, после синхронизации данных, мы должны вывести нужные и важные поля товара в 1 таблицу и вставлять и данные из прайса методом copy/paste. В противном случае, нам придется в одном месте писать название товара, идти в другую табличку, там писать цену. А если даннх много то возможно ошибка)

4) Забить созданну табличку в п.3 данными и обновить базу через ACCESS.

5) Идти в магазин и смотреть изменения.

Link to comment
Share on other sites

Реализация

1) Ни ACCESS ни EXCEL по умолчанию не поддерживают синхронизацию с MYSQL, поэтому нам придется установить драйвер ODBC-MySQL. В способе который я описываю я использовал найденный мною драйвер: http://www.mysql.ru/cgi-bin/download/MySqlODBC.zip. Установите и при установке укажите в настройках для этого драйвера параметры подключения к Базе Данных магазина (host=localhost, имя=имя пользователя которое вы писали при установке PRESTASHOP, пароль=пароль которой вы писали при установке PRESTASHOP). Эти параметры будут использоваться по умолчанию для этого драйвера.

Далее запускаем ACCESS жмем создание новой базы, если у Вас 2007 офис то переходим на закладку "Внешние Данные", если нет то ищем эту же опцию в старой версии. Далее в блоке импорта жмем "Дополнительно" выбираем первый пункт "База Данных ODBC ODBC". В появившемся окне жмем вторую опцию (вариант с синхронизацией). Теперь мы видим окно "Выбор источника данных", жмем вторую вкладку "Выбор источника на компьютере" и если при установке ODBC MySQL драйвера его название (sample MYSQL) указанное по умолчанию вы не меняли, то выбираем "sample MYSQL". Если при установке этого драйвера вы указали параметры подключения к БД магазина и указали правельно, то Вам будет предложена возможность выбора полей базы для синхронизации. Если этого не видите, то делаете возвращаетесь, еще раз жмете вторую вкладку "Выбор источника на компьютере", жмете "создать" , "далее" затем "MYSQL" и в окне опций пишите параметры подключения к магазину (пример которых см. выше).

Если все ок и мы хотим синхронизировать только поля товаров, то для товара есть 2 таблицы, связанные между собой: ps_product и ps_product_lang. Используя CTRL+ левый клик мыши выбираем эти два поля и жмем ок. Видим таблицы! Теперь все изменения будут происходить и в магазине!

Продолжение следует...

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

У кого получилось?
у меня на последнем шаге проблеммы. пишет что доступ для такого пользователя запрещен
т.е. имя пользователя неверное, хотя все правильно, изза того что к имени пользователя автоматом прибавляется мой айпишник
: username@ip

Link to comment
Share on other sites

все верно, тоже столкнулся с такой проблемой и пришлось качать новую версию. А вообще джентельмены - забил. Ждал несколько месяцев новую 1.1, дождался и перешел на magento 1.1.6 (http://www.magentocommerce.com), посерьезнее и попрофессиональнее системка ИМХО. А если кому покажется медленной то отключите сбор ненужной статистики и будет все здорово! В системе легко и импорт и экспорт делать и prestashop явно с нее содрана.

Link to comment
Share on other sites

  • 6 months later...
  • 2 weeks later...
  • 1 month later...

Млин, как настроить импорт интегрированный?
"активный" не работает
"категория" если не указываешь обновляет и товар перебрасывает в основную категорию
где хотя бы копать?

Link to comment
Share on other sites

вот нарыл в файле adminimport.php

блядь, как собака - понимать понимаю что, где то в этих строках кроется мой ответ, а зделать сцуко ни чего не могу

помогите плиз, мне нужно что бы если товар уже присутсвует категория не обнулялась (по умолчанию если не указать категорию при импорте и товар уже присутствует в определенной категории - то он сцуко падает в главную категорию)

поможите люди добрые что бы товар падал в главную категорию если это новый товар. а тот который уже присутствует и привязан к определенным категориям не изменялся.

--------------------------------------------------------

self::$default_values = array(
'id_category' => array(1),
'id_category_default' => 1,
'active' => '1',
'quantity' => 0,
'price' => 0,
'id_tax' => 0,
'description_short' => array(intval(Configuration::get('PS_LANG_DEFAULT')) => ''),
'link_rewrite' => array(intval(Configuration::get('PS_LANG_DEFAULT')) => ''),
);


---------------------------------------

elseif (isset($category->parent) AND is_string($category->parent))
{
$categoryParent = Category::searchByName($defaultLanguageId, $category->parent, true);
if ($categoryParent['id_category'])
$category->id_parent = intval($categoryParent['id_category']);
else
{
$categoryToCreate= new Category();
$categoryToCreate->name = self::createMultiLangField($category->parent);
$categoryToCreate->active = 1;
$categoryToCreate->id_parent = 1; // Default parent is home for unknown category to create
if (($fieldError = $categoryToCreate->validateFields(UNFRIENDLY_ERROR, true)) === true AND ($langFieldError = $categoryToCreate->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true AND $categoryToCreate->add())
$category->id_parent = $categoryToCreate->id;
else
{
$this->_errors[] = $categoryToCreate->name[$defaultLanguageId].(isset($categoryToCreate->id) ? ' ('.$categoryToCreate->id.')' : '').' '.Tools::displayError('cannot be saved');
$this->_errors[] = ($fieldError !== true ? $fieldError : '').($langFieldError !== true ? $langFieldError : '').mysql_error();
}
}
}

---------------------------------------------

// If category already in base, get id category back
if ($categoryAlreadyCreated['id_category'])
{
$catMoved[$category->id] = intval($categoryAlreadyCreated['id_category']);
$category->id = intval($categoryAlreadyCreated['id_category']);
}

// If id category AND id category already in base, trying to update
if ($category->id AND $category->categoryExists($category->id))
$res = $category->update();

// If no id_category or update failed
if (!$res AND $res = $category->add())
$category->addGroups(array(1));

--------------------------------------------------------

Link to comment
Share on other sites

  • 7 months later...
  • 9 months later...

А кто-нибудь смог сделать так, чтобы PrestaClient нормально понимал русский язык, а не показывал вместо букв хаотичный набор значков?

Link to comment
Share on other sites

  • 1 month later...

ее сняли с разработки, я так предполагаю что кому то такой софт стал не выгодным :) и программерам просто дали бабло за то чтобы они ее в мир так и не выпустили

Link to comment
Share on other sites

  • 2 weeks later...

У кого получилось импортировать с нее товар в магазин, я вот пробую но когда идет импорт - колонка "Название" или "Описание товара" не подставляется, так же нехватет колонок артикул производителя, хотя когда идет выборка полей для импорта, то это все есть в формирвоании, а вот когда переходиш дальше эти поля пропадают. Это я чет не так делаю ? или в бетке нету спецом этих колонок?

Link to comment
Share on other sites

  • 3 weeks later...

Народ, давайте немного раздуем эту тему, для меня вопрос наверное особенно актуален.. мне нужно загрузить товары в БД локально на своем ПК, затем вернуть БД на место, чтобы все работало, т.к. хостинг падает от большого количества товаров, загружаемых через саму CMS импорт

Link to comment
Share on other sites

  • 2 weeks later...
×
×
  • Create New...