Skocz do zawartości
sokon

Aktualizacja cen i stanów z *.csv

Rekomendowane odpowiedzi

Witam. Zauważyłem w wątku temat sklepu z obuwiem. Mam ten sam problem, gdyż but ma jeden kod i cenę, lecz jest w kilku rozmiarach (atrybutach), których ilość trzeba aktualizować plikiem np:

kod_towaru; rozmiar; cena; ilość

Czy możecie mi doradzić jakie zastosować rozwiązanie, bo z tego co sprawdziłem ten moduł nie posiada takiej funkcjonalności, ale może powstał inny???

Pozdrawiam

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

netsyndrom: Najprościej to używać kodów kreskowych głębokich lub podczas wprowadzania produktów dopisywać do kod_towaru informacją o rozmiarze - ja tak mam:

984753984573948_27-28,nazwa,140.99,27

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Rozumiem, że nie korzystasz z atrybutów. Też tak planowałem, aby każdy rozmiar danego fasonu miał własny kod (kod z rozmiarem można połączyć przy imporcie z programu obsługującego sklep stacjonarny) ale wtedy w kategorii wyświetli się 5 jednakowych butów różniących się rozmiarem. Nieciekawie.

 

Jeszcze mam drugi orzech do zgryzienia - kategorie w sklepie stacjon i preście:

Sklep stacjonarny: Kategorie: męskie, damskie, dziecięce; Typy: sandały, kozaki, półbuty

Sklep Presta: kategoria: Męskie podkategorie:sandały, kozaki, półbuty; kategoria: Damskie podkategorie:sandały, kozaki, półbuty;

Rozwiązanie presty pasuje mi do menu wysuwanego, ale zachodz w głowę jak podczas importu wybierać właściwą kategorię presty? A może użyć 3 kategorii a reszta to cechy? i nie będzie problemu z importem.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Rozumiem, że nie korzystasz z atrybutów.

o_O Korzystam - nie dokładnie czytałeś temat. U mnie jeden produkt ma czasem kilkaset atrybutów i nie ma problemu z aktualizacją, bo każdy atrybut ma swój unikalny kod.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Czy oznacza to, że jak skasuję kod KE1342 na karcie INFO produktu i dodam kod przy każdej kombinacji na karcie kombinacje atrybutów dodając do niego rozmiar w stylu KE1342_41 dalej KE1342_42 to moduł, który jest tematem wątku zaktualizuje mi ilości wszystkich rozmiarów butów? Byłoby wspaniale. Choć to zupełnie inne tebele.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie musisz kasować kodu KE1342 na karcie INFO produktu - wystarczy, że dodasz kody do atrybutów tak jak napisałeś a plik csv będzie zawierał te kody atrybutów.

Tak właśnie działa moduł Sokona :) by aktualizować ilość atrybutów.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Siema.. Dawno mnie nie było... coś mnie ominęło?? ;-)

 

Potwierdzam to co napisał Vivaldi - jeśli atrybuty będą miały osobne kody to będą aktualizowane. Oczywiście kody tych atrybutów muszą być w pliku *.csv

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Panowie! Jestem wniebowzięty!

Męczyłem się, bo wszystko zapisywało do brakujące.txt. Nie obyło się więc bez zmiany w settings.inc.php bo to nazwa.pl.

Działa lodzio miodzio, wszystkie atrybuty pięknie aktualizuje.

Zastanawia mnie jedynie checkbox: "Zerować stany i ceny przed aktualizacją? (zalecane)"

Bo niezależnie od ustawienia działa tak samo. Okazuje się, że w kodzie aktcsv.php linie są zakomentowane.

W każdym razie Dzięki za wspaniały moduł.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Opcja "zerowanie cen i stanów" służy do uniknięcia sytuacji kiedy w sklepie masz towar X o stanie np 3 sztuki, a w hurtownia wycofała produkt i nie ma go już w pliku *.csv. Gdybyś nie wyzerował cen i stanów tą opcją to produkt ten pozostałby nadal w sklepie ze stanem 3 sztuki.... I byłby "zonk" gdyby klient go zamówił..

 

Działa to tak, że skrypt przed aktualizacją wszystkim produktom i atrybutom ustawia cenę oraz stan magazynowy na "0". Czyli jeśli produktu nie ma w CSVce produkt pozostanie z ceną i stanem "0".

 

PS. Nie spodziewałem się , że ten "szybki szkic" modułu napisany dość chaotycznie zdobędzie taką popularność ;-)

Jeśli ktoś ma pomysły o jakie nowe funkcje go można rozbudować to proszę pisać - postaram się w wolnej chwili to zrobić.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Zgadza się, dobrze pomyślane z tym zerowaniem, trzeba tylko pamiętać, żeby w 1 pliku csv był cały magazyn.

Może i pomysł:

Początkowo miałem cenę przyporządkowaną do produktu, a w atrybutach tylko ilość danego rozmiaru się zmieniała.

Korzystając z aktcsv cena dopisywana jest do atrybutu rozmiar, więc cena prod. jest pomijana.

Próbowałem pominąć aktualizację ceny w csv ;; lecz wprowadza zero z automatu dla atrybutu.

Pytanie: Jak wprowadzić cenę promocyjną? Aby standardową klient widział przekreśloną?

Na dzień dzisiejszy się nie da, ale idą mrozy, więc...

Pozdrawiam

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie musi być cały magazyn w jednym pliku. Jeśli będzie w kilku plikach CSV wystarczy zerowanie zrobić tylko podczas przetwarzania pierwszego pliku a przy następnych nie zerować...

 

Aby moduł wprowadzał cenę promocyjną wymagałoby to dołożenia kilku dodatkowych pól do pliku CSV (z upustem, datą rozpoczęcia promocji oraz jej zakończenia) i drobnej modyfikacji w skrypcie. Jednak myślę, że wprowadzenie tych dodatkowych pól dla większości osób byłoby trochę uciążliwe (oczywiście dla tych którzy by z nich nie korzystali).

 

PS. Co do nieodpowiadania na maile w sklepie: owszem, przyznaję, że jakiś czas temu kontakt z nami był ograniczony z różnych powodów, ale od dłuższego czasu nie ma problemu i nikt nie pozostaje bez odpowiedzi...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Chciałbym dostosować skrypt aktcsv.

Posiadam atrybuty (rozmiar buta) tu chciałbym aktualizować tylko ilość poszczególnych rozmiarów.

Cenę chciałbym mieć ją przy produkcie.

Czy wystarczy zmienić zapytanie:

 

Sekcja z atrybutami

 

// update ilości i ceny

$zapytanie = 'UPDATE `'._DB_PREFIX_.'product_attribute` SET `quantity` = "'.$ilosc.'", `price` = "'.$cena_atr.'" WHERE ';

$zapytanie .= '`'.$numer.'` = "'.$data[0].'" ';

 

//pomijamy cenę atrybutu

$zapytanie = 'UPDATE `'._DB_PREFIX_.'product_attribute` SET `quantity` = "'.$ilosc.'" WHERE ';

$zapytanie .= '`'.$numer.'` = "'.$data[0].'" ';

 

Pozdrawiam

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

OK Już wiem, że nie działa. Ale może jakiś twórca będzie skłonny mi to zrobić? Idealnym rozwiązaniem byłoby aktualizowanie ceny produktu, a ilości atrybutów. Za to byłbym skłonny ZAPŁACIĆ. Jeżeli kod produktu to XXXXX to poszczególne atrybuty mają kod: XXXXX_8, XXXXX_41, XXXXX_42. Jednak podstawowym problemem jest wywalenie ceny atrybutu.

Pozdrawiam

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A w pliku CSV masz linie z kodami atrybutów (XXXXX_8, XXXXX_41, XXXXX_42)??

Jeśli nie to musisz przerobić fragment kodu odpowiedzialny za pobieranie atrybutów. Najlepiej pobrać do tablicy wszystkei atrybuty pasujace do wzorca (LIKE 'XXXXX_%') i wtedy każdemu zmienić ilość.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

CSV ma tylko ilości atrybutów, czyli

250;XXXXX_41;100.00;24;

250;XXXXX_42;100.00;19;

251;YYYYYY_41;112.00;30

Skrypt miałby odcinac '_41'

uzupełnić cene PRODUCT po kodzie XXXXX

'UPDATE `'._DB_PREFIX_.'product` SET  `price` = "'.$cena.'" WHERE `'.$numer.'`="'.$data[0].'" ';

następnie kodem XXXXX_41 uzupełnić ilość Atrybutów (ile par butów o rozm. 41)

'UPDATE `'._DB_PREFIX_.'product_attribute` SET `quantity` = "'.$ilosc.'", `price` = "'.$cena_atr.'"  WHERE 
`'.$numer.'` = "'.$data[0].'" ';

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

W takim przypadku musisz użyć EXPLODE.

 

Przed aktualizacją produktu:

 

$kod_produktu = explode("_", $data[0]);

'UPDATE `'._DB_PREFIX_.'product` SET `price` = "'.$cena.'" WHERE `'.$numer.'`="'.$kod_produktu[0].'" ';

 

Jeśli atrubutom tylko zmienić chcesz ilość to wywal zmianę ceny:

'UPDATE `'._DB_PREFIX_.'product_attribute` SET `quantity` = "'.$ilosc.'" WHERE

`'.$numer.'` = "'.$data[0].'" ';

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Czy ten moduł wstawiony tutaj jest nadal aktualny bo mam problem z jego instalacją tak jak każdy standardowy moduł?. Wyskakuje mi komunikat "Nieznany typ archiwum". Bardzo mi zależy na aktualizacji tylko stanów magazynowych z CSV bo zajmuje mi to 2h dziennie i nie jest zbyt przyjemne. Dzięki za pomoc

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



  • Przeglądający

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

  • Statystyki forum

    • Tematów
      7 668
    • Postów
      36 876
×