История такая. Я добавил дополнительные поля продукта по инструкции https://opencartforum.com/topic/156-дополнительные-поля-продукта/.
И возникла проблема их выгрузки в exel и обратной загрузки.
Допустим надо добавить переменную 'year'
Открываем /admin/model/tool/export.php
1. Строка 284. В следующую строчку после $sort_order = $product[40]; вставляем $year = $product[41];
2. Строка 294. "`tax_class_id`,`viewed`,`length`,`width`, и т.д. после значения 'cost' вставляем 'year'
3. Строка 301. "$taxClassId,$viewed,$length,$width,$height, и т.д. после значения 'cost' вставляем '$year'
4. Строка 433. После строки $cost = isset($row[37]) ? $row[37] : "0.00"; вставляем строку $year = isset($row[38]) ? $row[38] : "";
5. Строка 491. После строки $product[40] = $sort_order; вставляем строку $product[41] = $year;
6. Строка 1066. В строке ( "product_id", "name", "categories", "sku", и т.д. после "cost" вставляем "year"
7. Строка 1346. После $worksheet->setColumn($j,$j++,max(strlen('price'),10)+1,$priceFormat); вставляем $worksheet->setColumn($j,$j++,max(strlen('year'),8)+1,$textFormat);
8. Строка 1394. После $worksheet->writeString( $i, $j++, 'cost', $boxFormat ); вставляем $worksheet->writeString( $i, $j++, 'year', $boxFormat );
9. Строка 1441. После $query .= " p.cost, "; вставляем $query .= " p.year, ";
10. Строка 1522. После $worksheet->write( $i, $j++, $row['cost'], $priceFormat ); вставляем $worksheet->write( $i, $j++, $row['year], $textFormat );
Жирным выделил места на которые надо обратить внимание.
После этого работает выгрузка и загрузка дополнительный полей продукта.
Если нужно больше одного поля, то делается по аналогии сколько угодно.