Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Aktualizacja danych z *csv
Forum PHP.pl > Forum > Przedszkole
lordoza
Dzieńdobry. Tytułem wstępu, chciałbym zaznaczyć, że nie jestem informatykiem. Jednak prowadzenie sklepu internetowego i problemy komunikacyjne z dostarczycielem oprogramowania zmusiły mnie do samodzielnego działania w temacie.

Istotą rzeczy są nieszczęsne kategorie produktu, których nie potrafię zaktualizować przez plik csv. Ręczne (przez panel administracyjny) zmienianie każdego produktu potrwałoby...za długo. Jak narazie udało mi niby ustawić kategorie dla produktów, ale wygląda na to, że trzeba jeszcze aktualizować kategorie i to im przypisać dane produkty.
W panelu administracyjnych wygląda to tak że: Widzę produkt, w polu kategoria wyświetla się ścieżka (nadanej poprawnie przez csv) kategorii, jednak na samej stronie kategoria jest pusta. Dopiero w panelu administracyjnym klikając w karcie produktu "zapisz", kategoria wypełnia się danym produktem. Na przeklikanie w ten sposób wszystkich produktów, też nie bardzo mam ochotę.

Nie używałem dotychczas żadnego środowiska php, wszystkie modyfikacje dokonywałem przez edycję pliku konfiguracyjnego w notatniku.

Skrypt po moich modyfikacjach wygląda następująco:



  1. $catTmp = array();
  2. foreach (array(
  3. $product[6],
  4. $product[7],
  5. $product[8],
  6. $product[9]
  7. ) as $cat)
  8. {
  9. if (!empty($cat))
  10. {
  11. $catTmp[] = $cat;
  12. }
  13. }
  14. //unset($cats)
  15.  
  16.  
  17. $lastCat = 0;
  18.  
  19.  
  20.  
  21.  
  22.  
  23. $catString = join('/', $catTmp);
  24.  
  25.  
  26. $lastCat = $this->categories[ $catString ];
  27.  
  28.  
  29. $this->database
  30. ->update('ms_products', array(
  31. // 'net_price' => $this->maxshop->Price_Gross2Net($product[2], 23),
  32.  
  33. 'categories' => $catString,
  34. 'category' => $lastCat,
  35. 'gross_price' => $product[2],
  36. 'quantity' => $iQuntity,
  37. 'weigh' => $product[10],
  38. 'depository_status' => $this->maxshop->Depository_Status($iQuntity)
  39.  
  40.  
  41. ), array(
  42. 'code', $product[0]
  43. )
  44. ));


W konfiguracji dotyczącej dodawania produktów (i kategorii) jest jeszcze zapis:

  1. // Dodajemy kategorie produktu
  2. if ($lastCat > 0)
  3. {
  4. foreach ($this->maxshop->Categories_Parents($lastCat) as $cat)
  5. {
  6. $this->database
  7. ->insert('ms_product_categories', array(
  8. 'product' => $ProductId, 'category' => $cat
  9. ));
  10. }
  11. }


Czy to jest właśnie ten fragment kodu, który powinienem zmodyfikować i dodać żeby kategorie zapełniły się produktami?

ctom
przemyśl może taką maksymę - oddać cesarzowi, co cesarskie, a Bogu, co boskie

zleć to komuś, zajmij się prowadzeniem sklepu ... a jak nie, to chociaż zrób backup bazy zanim "odpalisz" ten update

lordoza
Zlecenie tego komuś jest kolejnym krokiem jeżeli nie znajdę odpowiedzi na forum. Chciałem chociaż spytać, bo uważałem że to pierdółka, której już jestem blisko załatwienia. Okazuje się jednak że jest inaczej, więc nie będę miał wyjścia jak faktycznie dać to komuś do zrobienia. Dzięki za uprzedzenie o backupie. Mam takowy zrobiony i działam próbnie na csv z jednym produktem. Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.