Ubercart, заказ товара которого нет в базе

Главные вкладки

Аватар пользователя -Serg- -Serg- 6 января 2010 в 3:41

Имеется база товаров (авотзапчасти), выборка которых происходит своими скриптами из сторонней БД.
Как лучше реализовать добавление товаров в корзину, с последующей оплатой и историей платежей?

Вариант экспорта товаров из сторонней БД в друпал - не подходит, в базе более двух миллионов позиций, с весьма ветвистой структурой + к томуже все это дело обновляетяс раз в квартал.

Комментарии

Аватар пользователя VladSavitsky VladSavitsky 6 января 2010 в 10:52

Товар является нодой.
Считываете из сторонней базы данные и создаете ноду типа product для уберкарта.
Нода - это объект. Создаете объект и добавляете в него ваши данные про автотовар.
Сохраняете ноду (node_save()).
Добавляете эту ноду в корзину и редиректите пользователя в корзину (drupal_goto('cart'))
Как-то так.

Аватар пользователя SairusV SairusV 6 апреля 2011 в 17:25

Доброго времени суток уважаемое сообщество!

Подскажите пожалуйста, вернее приведите пример как программно добавить товар в карнизу, использую модуль Ubercart, задача аналогична теме - иметься API зарубежного интернет магазина которое формирует каталог товаров, необходимо реализовать добавление виртуального товара в карнизу.

Часть задачи я реши:
1. Для добавления товара в карзину необходимо создать ноду определённого типа, это есть:

$node = new stdClass();
$node->type = 'product';
$node->title = 'Продукт №'.$node->nid;
$node->body = 'Содержание ноды';
$node->teaser = 'Текст анонса';
$node->uid = 1; // id автора
$node->status = 0; // 1 - опубликовано, 0 - нет
$node->promote = 0; // 1 - показывать на главной, 0 - нет
$node->sell_price = 1; // цена
$node->default_qty = 20; // колтчество

node_save($node);

2. Теперь необходимо программно положить только что созданную ноду в карнизу Ubercart, вернее например при щелчке на кнопку "Купить" автоматически с генерировать ноду(это уже есть) и положить её в карнизу, как это сделать?

Заранее спасибо!