minishop2
Добрый день. Направьте или лучше подскажите кто может сталкивался.
Задача следующая: Во время оформления заказа без оплаты или с подключенной оплатой необходимо производить запись в TV поле товаров которые будут оформлены.
1 TV поле числовое, в нем планируется фиксация кол-во оформления-продаж данного товара. Для последующей генерации блока популярные товары.
2 TV поле числовое, в нем планируется фиксация кол-во остатков данного товара.
Задача следующая: Во время оформления заказа без оплаты или с подключенной оплатой необходимо производить запись в TV поле товаров которые будут оформлены.
1 TV поле числовое, в нем планируется фиксация кол-во оформления-продаж данного товара. Для последующей генерации блока популярные товары.
2 TV поле числовое, в нем планируется фиксация кол-во остатков данного товара.
Комментарии: 9
Кстати если с TV все очень сложно можно так же использоваться Опции товара.
Плагин на msOnCreateOrder.
Там есть $order со всеми товарами. Пройтись по ним и для каждого получить значение TV, обновить его, записать новое.
Там есть $order со всеми товарами. Пройтись по ним и для каждого получить значение TV, обновить его, записать новое.
Я дико извиняюсь, но у меня не получилось получить значение TV.
Вот как я пытался получить его
Вот как я пытался получить его
foreach ($order->getMany('Products') as $orderProduct) {
$tv = $this->modx->getTemplateVar("CountProduct", "*", $orderProduct->get('product_id'));
$tv ['value']
}
Запись производить таким методом?$sql = "UPDATE table SET values WHERE idTV=1";
$select = $this->modx->db->query($sql);
Наверное лучше примерно так:
$tv_id = 1; #id нужного TV
$resource = $modx->getObject('modResource',$orderProduct->get('product_id'));
$tv = $resource->getTVValue($tv_id);
/* обновляем значение TV */
$resource->setTVValue($tv_id,'Новое значение');
Спасибо за ссылку)
ТАкой вариант заработал.
ТАкой вариант заработал.
$tvr = $this->modx->getObject('modTemplateVarResource', array(
'tmplvarid' => 1,
'contentid' => $orderProduct->get('product_id')
));
if ($tvr) {
return $tvr->get('value');
}
Еще раз огромное спасибо, вынес отдельным классом на эвент теперь ведется учет остатков, статус наличия и количество проданных штук в TV полях.
Не за что!
ктонить может пытался вывести отдельно название товара в шаблоне письма?
не через [[+goods]]? Или новую функцию надо писать?
не через [[+goods]]? Или новую функцию надо писать?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.