Доброго дня!
Так как у нас своеобразно построена база товаров в 1С - стандартным аддоном невозможно пользоваться, и пишу свой кроновский скрипт.
Проблема вот в чем:
код на данный момент (интересует этот кусок)
if ($product_id) {
$product_data_out = array();
$product_data_out = fn_get_product_data($product_id, $auth);
$product_data_out['amount'] = $product_data_in['amount'];
$product_data_out['price'] = floatval($price);
$product_data_out['base_price'] = floatval($price);
fn_print_r($product_data_out);
$product_data_out['status'] = $product_data_out['main_category'] == 1 ? 'H' : 'A';
fn_update_product($product_data_out, $product_id, $product_data_out['lang_code']);
} else {
fn_update_product($product_data_in, $product_id, CART_LANGUAGE);
}
то есть предварительно из получаемых данных формируется массив product_data_in. Если получаю product_id - то есть если товар есть в базе - через fn_get_product_data получаю данные о товаре, меняю на нужные значения некоторые поля, и с fn_update_product вношу изменения.
Если product_id не находится - пишу новый товар в определенную категорию.
Проблема в том, что при внесении изменений в существующий товар - слетает характеристика. Сейчас есть только характеристика Бренд. Так вот после этого кода на лице: у бренда нет ни одного товара, у самого товара - характеристика Бренд отображается на карточке, но с пустым значением. В админке - у товара характеристика Бренд не имеет значения. Копаю, но пока не докопался. Восстанавливаю при экспериментах или вручную проставляя товарам эту характеристику, или восстанавливая базу из бэкапа. Экспериментирую на тестовом сервере.
Куда бы копнуть? Вот что выдает принт product_data_out
Array
(
[min_items_in_box] => 0
[max_items_in_box] => 0
[box_length] => 0
[box_width] => 0
[box_height] => 0
[product_id] => 2
[product_code] => hit-01669
[product_type] => P
[status] => H
[company_id] => 1
[list_price] => 0.00
[amount] => 10
[weight] => 0.050
[length] => 0
[width] => 0
[height] => 0
[shipping_freight] => 0.00
[low_avail_limit] => 0
[timestamp] => 1468405749
[updated_timestamp] => 1468582015
[usergroup_ids] => 0
[is_edp] => N
[edp_shipping] => N
[unlimited_download] => N
[tracking] => B
[free_shipping] => N
[zero_price_action] => R
[is_pbp] => N
[is_op] => N
[is_oper] => N
[is_returnable] => Y
[return_period] => 10
[avail_since] => 0
[out_of_stock_actions] => N
[localization] =>
[min_qty] => 0
[max_qty] => 0
[qty_step] => 0
[list_qty_count] => 0
[tax_ids] => Array
(
)
[age_verification] => N
[age_limit] => 0
[options_type] => P
[exceptions_type] => F
[details_layout] => default
[shipping_params] => a:5:{s:16:"min_items_in_box";i:0;s:16:"max_items_in_box";i:0;s:10:"box_length";i:0;s:9:"box_width";i:0;s:10:"box_height";i:0;}
[facebook_obj_type] =>
[yml2_brand] =>
[yml2_origin_country] =>
[yml2_store] =>
[yml2_pickup] =>
[yml2_delivery] =>
[yml2_adult] => N
[yml2_delivery_options] =>
[yml2_bid] => 0
[yml2_cbid] => 0
[yml2_model] =>
[yml2_sales_notes] =>
[yml2_type_prefix] =>
[yml2_offer_type] =>
[yml2_market_category] =>
[yml2_manufacturer_warranty] =>
[yml2_expiry] =>
[yml2_seller_warranty] =>
[yml2_purchase_price] => 0
[yml2_description] =>
[buy_now_url] =>
[lang_code] => ru
[product] => Защита от насекомых на стол, четырехугольная
[shortname] =>
[short_description] =>
[full_description] => Высота 25см.
[meta_keywords] =>
[meta_description] =>
[search_words] =>
[page_title] => Тент-сетка защита от насекомых для вашего стола
[age_warning_message] =>
[promo_text] =>
[price] => 810
[category_ids] => Array
(
[0] => 8
)
[popularity] => 3
[supplier_id] => 1
[sales_amount] => 0
[seo_name] => zaschita-ot-nasekomyh-na-stol-chetyrehugolnaya
[seo_path] => 2/8
[point_price] =>
[discussion_type] => D
[base_price] => 810
[main_category] => 8
[main_pair] => Array
(
[pair_id] => 1106
[image_id] => 0
[detailed_id] => 1393
[position] => 0
[detailed] => Array
(
[object_id] => 2
[object_type] => product
[image_path] => /images/watermarked/1/detailed/1/tent-zaschita-ot-nasekomyh-4.jpg
[alt] => Защита от насекомых на стол, четырехугольная
[image_x] => 672
[image_y] => 672
[http_image_path] => /images/watermarked/1/detailed/1/tent-zaschita-ot-nasekomyh-4.jpg
[https_image_path] => /images/detailed/1/tent-zaschita-ot-nasekomyh-4.jpg
[absolute_path] => /images/watermarked/1/detailed/1/tent-zaschita-ot-nasekomyh-4.jpg
[relative_path] => detailed/1/tent-zaschita-ot-nasekomyh-4.jpg
)
)
[image_pairs] => Array
(
)
[shared_product] => N
[product_features] => Array
(
[1] => Array
(
[feature_id] => 1
[company_id] => 1
[feature_type] => E
[parent_id] => 0
[display_on_product] => Y
[display_on_catalog] => N
[display_on_header] => N
[description] => Бренд
[lang_code] => ru
[prefix] =>
[suffix] =>
[categories_path] =>
[full_description] =>
[status] => A
[comparison] => N
[position] => 0
[group_position] =>
[value] =>
[variant_id] => 1
[value_int] =>
[variants] => Array
(
[1] => Array
(
[variant_id] => 1
[variant] => Wenko
[description] =>
[page_title] =>
[meta_keywords] =>
[meta_description] =>
[lang_code] => ru
[yml2_unit] =>
[feature_id] => 1
[url] =>
[position] => 0
[selected] => 1
[feature_type] => E
[seo_name] => wenko
[seo_path] =>
[image_pair] => Array
(
[pair_id] => 1093
[image_id] => 1380
[detailed_id] => 0
[position] => 0
[icon] => Array
(
[image_path] => /images/feature_variant/1/wenko.jpg
[alt] => Логотип компании wenko
[image_x] => 300
[image_y] => 300
[http_image_path] => /images/feature_variant/1/wenko.jpg
[https_image_path] => /images/feature_variant/1/wenko.jpg
[absolute_path] => /images/feature_variant/1/wenko.jpg
[relative_path] => feature_variant/1/wenko.jpg
)
)
)
)
)
)
[detailed_params] => Array
(
[info_type] => D
)
[shared_between_companies] => Array
(
[0] => 1
)
[have_required] => N
)
PS на форуме не могу ввести тэг, начинающийся с буквы б - как только набираю эту букву - она сразу преобразуется в тэг или сама, или с предыдущим текстом ))