Ubercart как настроить чтобы имеющиеся ноды были товарами?

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

Аватар пользователя VasyOK VasyOK 26 марта 2012 в 20:23

Всем привет!

На сайте были ноды:
одна нода - один товар (точнее статья про товар)

Уберкарта не было. Потом его поставили. Как заставить Уберкарт работать с типом материала, который был на сайте до Уберкарта?

Как то делается, я смутно помню как.

Комментарии

Аватар пользователя Andruxa Andruxa 26 марта 2012 в 22:02

Руками править тип нод в таблице

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

Аватар пользователя multpix multpix 26 марта 2012 в 22:08

как вариант поставить drupal commerce,
существующим материалам добавить поле ссылку на продукт
и теперь можно не только посмотреть но и заказать))
настройка commerce - отдельный разговор

успехов))

Аватар пользователя WiseMan WiseMan 27 марта 2012 в 0:12

в настройках в разделе "товары", есть "управление классами" admin/store/products/classes - добавляйте там id-вашего типа материалов и все его ноды станут товарами.
Только цены, артикулы и т.п. будут нулевыми. Нужно вносить.

Аватар пользователя vbard vbard 19 сентября 2012 в 14:19

WiseMan wrote:
в настройках в разделе "товары", есть "управление классами" admin/store/products/classes - добавляйте там id-вашего типа материалов и все его ноды станут товарами.

Ubercart 3.2, только что попробовал - куча ошибок и mysite/admin/content перестал открываться, пришлось восстанавливать базу с бекапа.

Аватар пользователя VasyOK VasyOK 27 марта 2012 в 2:20

Да да да WiseMan!
Именно про это я и думал! Про классы продуктов.

А вот цены, артикулы и т.п. можно как-то тоже автоматом вносить (?)

Аватар пользователя WiseMan WiseMan 27 марта 2012 в 13:06

"VasyOK" wrote:
А вот цены, артикулы и т.п. можно как-то тоже автоматом вносить (?)

встречал где-то здесь модули - поищите. Нес столько автоматом, сколько оптом, массовое обновление.

И по моему, был еще модуль для feeds для маппинга под уберкарт.

Аватар пользователя WiseMan WiseMan 27 марта 2012 в 18:33

скорее тогда через uc_custom_price. Но опять же чтобы дефолтом цена цеплялась ко всем - нужно либо все ноды товаров пересохранить, либо писать свой модуль по аналогии. Иначе будет по нулям, как будто пустое поле.

Аватар пользователя VasyOK VasyOK 28 марта 2012 в 2:47

Вот тут написано про модуль.
http://drupal.org/project/uc_custom_price

Я не совсем понимаю какой код написать, чтобы текстовое поле field_tzena передало значение цене.

$item->price = $item->field_tzena;

Так?

Или учитаывая, что уберкарт имеет свой формат цены, то так: (?)
$item->price = $item->number_format(field_tzena, 2, '.', '');

Или исходя из этого http://drupal.org/node/559508

$node = node_load($item->nid);
drupal_set_message('<pre>' . var_export($node, TRUE) . '</pre>');
$item->price = $item->number_format(field_tzena, 2, '.', '');

Или так:

$node = node_load($item->nid);
drupal_set_message('<pre>' . var_export($node, TRUE) . '</pre>');
$item->price = $item->field_tzena[0]['value'];
Аватар пользователя WiseMan WiseMan 28 марта 2012 в 11:03

используйте токены, там приведекн пример на странице с описанием модуля:
Product tokens are exposed to this code so
things like [cost], [sell_price], [weight], [weight-raw], etc. can be used.

Аналогичные токены есть у cck полей. Смотрите список в справке к модулю token admin/help#token