maxmatveevv
Forum Replies Created
-
Нашел решение, может кому понадобится:
Вместе этой функции:
elseif (@$names[$depth – 1] == ‘Цены’ && $name == ‘Цена’) {
if (!isset($wc1c_offer[‘Цена’]) && (!isset($wc1c_price[‘ИдТипаЦены’]) || $wc1c_price[‘ИдТипаЦены’] == $wc1c_price_type[‘Ид’])) $wc1c_offer[‘Цена’] = $wc1c_price;
else $wc1c_offer[“Цена_{$wc1c_price[‘ИдТипаЦены’]}”] = $wc1c_price;
}вставляем это:
elseif (@$names[$depth – 1] == ‘Цены’ && $name == ‘Цена’) {
if (!isset($wc1c_offer[‘Цена’]) && (!isset($wc1c_price[‘ИдТипаЦены’]) || $wc1c_price[‘ИдТипаЦены’] == $wc1c_price_type[‘Ид’])) $wc1c_offer[‘Цена’] = $wc1c_price;
elseif (isset($wc1c_price[‘ИдТипаЦены’]) && $wc1c_price[‘ИдТипаЦены’] != $wc1c_price_type[‘Ид’]) {
$wc1c_offer[‘Цены’][$wc1c_price[‘ИдТипаЦены’]] = $wc1c_price;
}
}Далее в функции wc1c_replace_offer_post_meta вставляем:
$prices = array(
‘ЗДЕСЬ ВАШ ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ ИЗ ПЛАГИНА’ => (isset($offer[‘Цены’][‘dee5bf38-abd6-11ea-ba92-6c2b59cdf893’][‘ЦенаЗаЕдиницу’]) ? wc1c_parse_decimal($offer[‘Цены’][‘dee5bf38-abd6-11ea-ba92-6c2b59cdf893’][‘ЦенаЗаЕдиницу’]) : wc1c_parse_decimal($offer[‘Цена’][‘ЦенаЗаЕдиницу’]))
);
$post_meta[‘festiUserRolePrices’] = ‘{‘;
if ($prices) {
foreach ($prices as $prices_name => $prices_value) {
$post_meta[‘festiUserRolePrices’] .= ‘”‘.$prices_name.'”:”‘.$prices_value.'”,’;
}
$post_meta[‘festiUserRolePrices’] = substr($post_meta[‘festiUserRolePrices’], 0, -1);
$post_meta[‘festiUserRolePrices’] .= ‘}’;
$current_post_meta = get_post_meta($post_id);
foreach ($current_post_meta as $meta_key => $meta_value) {
$current_post_meta[$meta_key] = $meta_value[0];
}foreach ($current_post_meta as $meta_key => $meta_value) {
if (array_key_exists($meta_key, $post_meta)) continue;
if($meta_key != ‘festiUserRolePrices’) continue;
delete_post_meta($post_id, $meta_key);
}
}Вместо “dee5bf38-abd6-11ea-ba92-6c2b59cdf893” ваш тип цены из offers.xml
Все изменения в файле offers.php
Купоном в смысле какой то скидкой? если так то этот вариант не подойдет, так как нет определенного формирования цены на товар (разный процент наценки). В любом случае спасибо за оперативный ответ, может у кого найдется решение или подобная реализация. Вообще не нашел вариантов с плагинами которые бы выгружали несколько цен.Только дорабатывать
а о какой формуле речь?
Отдает, выдержка из файла обмена:
<Цены><Цена><ИдТипаЦены>2d8726df-a4df-11ea-ba91-6c2b59cdf893</ИдТипаЦены><ЦенаЗаЕдиницу>183</ЦенаЗаЕдиницу><Валюта>643</Валюта><Единица>PCE</Единица><Коэффициент>1</Коэффициент></Цена><Цена><ИдТипаЦены>dee5bf38-abd6-11ea-ba92-6c2b59cdf893</ИдТипаЦены><ЦенаЗаЕдиницу>126.43</ЦенаЗаЕдиницу><Валюта>643</Валюта><Единица>PCE</Единица><Коэффициент>1</Коэффициент></Цена></Цены>
Насколько тут видно 2 типа цены передается