From 73a9c5b33eb3950d4ddcb3c532ce1bf6cb28fe9f Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Sun, 30 Mar 2025 18:43:06 +0200 Subject: [PATCH] =?UTF-8?q?Zaktualizowano=20metody=20get=5Fproduct=5Fsku?= =?UTF-8?q?=20i=20get=5Fproduct=5Fean,=20aby=20obs=C5=82ugiwa=C5=82y=20opc?= =?UTF-8?q?j=C4=99=20pobierania=20SKU=20i=20EAN=20z=20produktu=20nadrz?= =?UTF-8?q?=C4=99dnego;=20usuni=C4=99to=20plik=20.DS=5FStore.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- autoload/.DS_Store | Bin 0 -> 6148 bytes autoload/front/.DS_Store | Bin 0 -> 6148 bytes autoload/front/factory/class.ShopProduct.php | 34 ++++++++++++++++--- cron.php | 4 +-- 4 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 autoload/.DS_Store create mode 100644 autoload/front/.DS_Store diff --git a/autoload/.DS_Store b/autoload/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3239922a7e1693c4aee135bf32fa7086814704fc GIT binary patch literal 6148 zcmeHK%}N6?5T4Nr3%&H{F|W`!h-Lc(1-(iw>Y-~&(R-f8*YM`WC-UYuKZ=V1!Glzp zf#jQHX7ckbn`DTH7Y~~`(Ts>X6hRiHA=2G69l7%a$U4UT_GZ4iD#NZZ%wcxP+E3`3 z_EhMOTI>I09ZKJ?w`Gl(?&9_F<>~zSY#cw7%{Lyq+dsz8VScw*RWJ|?1Ovgq&l$j- zEz(U5qYegwfneZ+0XZKMiePrEhI(|M(i8wF&uA6sl1oTTa?Fm^5EckqD9}RLQw+9n z^e6Yrj@8h@i9PvXpZPs`VVxc0Cv_*zhEWFt!N8b-V{6Xj{$JvkX(svOkZ1)1!N5Ob zfG7Q`Utm*yw|?24+_eei5=BJ(swfcXqelQ5a*mv;(dmab_*8*1HOwQge!$xjr$bq1UPXP{v~z7GK^ zSQyrd>C=HGl>opD<|OD#Eg><%urRC@F#=%?1!^c;iNP8UdoaJkuvXM?Vk-3~NPLApRqeXz<1v_)`YH0K&6M2mk;8 literal 0 HcmV?d00001 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'] ),