Как загрузить CSV файл для гугл мерчант в магазин Opencart.
В модуле UniXML там где XML вверху справа ставим любое например https://unixml.pro/feeed.csv
В кастомный код до импорта
$rows = array();
$data['custom_categories'] = array();
$rows_pre = explode(PHP_EOL, file_get_contents("https://site.com/feed"));
foreach($rows_pre as $key => $row_item){
if($key){
$row_data = str_getcsv($row_item, ' ');
if($row_data[0]){
$rows[] = $row_data;
if(isset($row_data[11])){
$cat_name = $row_data[11];
$data['custom_categories'][$cat_name] = array(
'category_name' => $cat_name,
'category_id' => $cat_name,
'parent_id' => 0,
'url' => '',
);
}
}
}
}
$this->importSetCategory($data);
Кастомний код при обходе товара
$product['price'] = str_replace(array(',',' ','UAH'), '', $product['price']);
if($product['special']){
$product['special'] = str_replace(array(',',' ','UAH'), '', $product['special']);
}
$q = $product['quantity'];
$product['quantity'] = 0;
if($q == 'in_stock'){
$product['quantity'] = 777;
}
Также хочется сюда добавить небольшую информацию по загрузке категорий с фида для google merchant center где категории берем с product_type
В пункте Кастомный код до импорта добавляем
$data['custom_categories'] = array();
foreach($rows as $row){
$cats = explode(' > ', (string)html_entity_decode($row->product_type, ENT_QUOTES, 'UTF-8'));
foreach($cats as $parent_id => $cat){
if(trim($cat)){
$data['custom_categories'][$cat] = array(
'category_name' => $cat,
'category_id' => $cat,
'parent_id' => ($parent_id?$cats[$parent_id-1]:0),
'url' => false
);
}
}
}
$this->importSetCategory($data);
В пункт ниже добавляем
$cats = explode(' > ', (string)html_entity_decode($row->product_type, ENT_QUOTES, 'UTF-8'));
$product['category_id'] = $cats;
foreach($product['images'] as $ik => $iv){
$product['images'][$ik] = trim($iv);
}