diff --git a/autoload/.DS_Store b/autoload/.DS_Store new file mode 100644 index 0000000..3239922 Binary files /dev/null and b/autoload/.DS_Store differ diff --git a/autoload/front/.DS_Store b/autoload/front/.DS_Store new file mode 100644 index 0000000..7285fd1 Binary files /dev/null and b/autoload/front/.DS_Store differ diff --git a/autoload/front/factory/class.ShopProduct.php b/autoload/front/factory/class.ShopProduct.php index 3453a3d..25bd2bd 100644 --- a/autoload/front/factory/class.ShopProduct.php +++ b/autoload/front/factory/class.ShopProduct.php @@ -15,17 +15,43 @@ class ShopProduct } // get_product_sku - static public function get_product_sku( $product_id ) + static public function get_product_sku( $product_id, $parent = false ) { global $mdb; - return $mdb -> get( 'pp_shop_products', 'sku', [ 'id' => $product_id ] ); + + $sku = $mdb -> get( 'pp_shop_products', 'sku', [ 'id' => $product_id ] ); + if ( !$sku and $parent ) + { + $parent_id = $mdb -> get( 'pp_shop_products', 'parent_id', [ 'id' => $product_id ] ); + if ( $parent_id ) + return \front\factory\ShopProduct::get_product_sku( $parent_id, true ); + else + return false; + } + else + { + return $sku; + } } // get_product_ean - static public function get_product_ean( $product_id ) + static public function get_product_ean( $product_id, $parent = false ) { global $mdb; - return $mdb -> get( 'pp_shop_products', 'ean', [ 'id' => $product_id ] ); + + $ean = $mdb -> get( 'pp_shop_products', 'ean', [ 'id' => $product_id ] ); + if ( !$ean and $parent ) + { + $parent_id = $mdb -> get( 'pp_shop_products', 'parent_id', [ 'id' => $product_id ] ); + if ( $parent_id ) + return \front\factory\ShopProduct::get_product_ean( $parent_id, true ); + else + return false; + } + else + { + return $ean; + } } static public function is_product_active( int $product_id ) diff --git a/cron.php b/cron.php index 7d4ce43..82d6056 100644 --- a/cron.php +++ b/cron.php @@ -449,11 +449,11 @@ if ( $apilo_settings['enabled'] and $apilo_settings['sync_orders'] and $apilo_se $products_array = []; foreach ( $products as $product ) { - $sku = \front\factory\ShopProduct::get_product_sku( $product['product_id'] ); + $sku = \front\factory\ShopProduct::get_product_sku( $product['product_id'], true ); $products_array[] = [ 'idExternal' => $product['product_id'], - 'ean' => \front\factory\ShopProduct::get_product_ean( $product['product_id'] ), + 'ean' => \front\factory\ShopProduct::get_product_ean( $product['product_id'], true ), 'sku' => $sku ? $sku : md5( $product['product_id'] ), 'originalName' => $product['name'], 'originalPriceWithTax' => $product['price_brutto_promo'] ? str_replace( ',', '.', $product['price_brutto_promo'] ) : str_replace( ',', '.', $product['price_brutto'] ),