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]]? Или новую функцию надо писать?
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.