SeBeN682 Posted October 4, 2016 Share Posted October 4, 2016 (edited) Witam mam problem z użyciem funkcji add() lub save() w pętli we własnym modulePo krótce : Presta 1.6.1.7Zaciągam produkty z innej bazy i sprawdzam czy są już dodane w sklepie po indeksie ('reference') jeśli ich nie ma to chce je dodawać w petli . . . foreach ($products as $product){ $indeks = str_replace(' ', '', $product['indeks']); $cena_netto = $product['cena_netto']; $waga = $product['waga']; $stawka_vat = str_replace(' ', '', $product['stawka_vat']); $stan_mag = $product['stan_mag']; $nazwa = $product['artykul']; $check = array_search($indeks, array_column($products_in_shop, 'reference')); if($check == '' && !is_integer($check)){ switch ($stawka_vat) { case 0:$stawka_vat = 0;break; case 23:$stawka_vat = 1;break; case 8:$stawka_vat = 2;break; case 5:$stawka_vat = 3;break; } $id_lang = (int)(Configuration::get('PS_LANG_DEFAULT')); $object = new Product(); $object->description = array($id_lang => ''); $object->description_short = array($id_lang => ''); $object->link_rewrite = array($id_lang => ''); $object->name = array($id_lang => $nazwa); $object->id_shop_default = 1; $object->price = (float)$cena_netto; $object->id_tax_rules_group = (int)$stawka_vat; $object->reference = $indeks; $object->quantity = (int)$stan_mag; $object->id_manufacturer = 0; $object->id_supplier = 0; $object->additional_shipping_cost = 0; $object->wholesale_price = 0; $object->ecotax = 0; $object->width = 0; $object->height = 0; $object->depth = 0; $object->weight = (float)$waga; $object->out_of_stock = 0; $object->active = 1; $object->available_for_order = 0; $object->show_price = 1; $object->on_sale = 0; $object->online_only = 1; if (!isset($object->date_add) || empty($object->date_add)) $object->date_add = date('Y-m-d H:i:s'); $object->date_upd = date('Y-m-d H:i:s'); $ajax = true; $object->add(); } } . . . ogólnie skrypt działa lecz dodaje tylko jeden product i koniec tak jakby return false; Jeśli macie jakieś pomysły to proszę o pomocz góry THX Edited October 4, 2016 by SeBeN682 (see edit history) Link to comment Share on other sites More sharing options...
design4VIP Posted October 8, 2016 Share Posted October 8, 2016 po pierwsze wlacz sobie wyswietlanie bledow, po drugie sprawdz var_dump-em co w calej pentli zwraca $object i porownaj dla poszczegolnych produktow. a tak jeszcze dodatkowe pytanie, jak ukladaja ci sie ID wprowadzanych produktow? po kazdej wrzucie masz ID +1 czy przeskakuje o +X wrzucanych produktow? 1 Link to comment Share on other sites More sharing options...
SeBeN682 Posted October 11, 2016 Author Share Posted October 11, 2016 po pierwsze wlacz sobie wyswietlanie bledow, po drugie sprawdz var_dump-em co w calej pentli zwraca $object i porownaj dla poszczegolnych produktow. a tak jeszcze dodatkowe pytanie, jak ukladaja ci sie ID wprowadzanych produktow? po kazdej wrzucie masz ID +1 czy przeskakuje o +X wrzucanych produktow? Problem rozwiązany Po włączeniu debugowania pojawiały się komunikaty ze pole $object->link_rewrite posiadało nie prawidłowe znaki typu #?!* itp co wywalalo błąd Teraz wszystko działa prawidłowo THX Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now