Co to są kombinacje atrybutów?

Przypomnimy tak dla zasady niewtajemniczonym. Jak znasz temat – opuść tę sekcję 😉

Kombinacje atrubutów to przede wszystkim potężne narzędzie w Presta Shop. (Kiedyś może przybliżymy bardziej ich wszystkie możliwości, ale nie o tym dzisiaj)

Atrybuty w Presta Shop tym się różnią np. od cech – że mogą wpływać na cenę. Atrybuty można powiedzieć to cechy (warianty danego produktu), które wpływają na cenę w odpowiednim ich ustawieniu. Atrybuty przeważnie znajdują się obok opisu konkretnego przedmiotu i wybieramy je za pomocą drop-downów (list rozwijanych). Każde ułożenie tych drop-downów to właśnie pojedyncza kominacja atrybutów. I jak chcemy – może mieć ona za każdym razem inną cenę w zależności od wybranej konfiguracji.

Np. 2 przykładowe kombinacje atrybutów są pokazane poniżej:

Telefon komórkowy A w ustawieniu drop-downów:

Wybieramy a) czarną obudowę i  b) ładowarkę sieciową – cena: 550,00 zł.

Telefon komórkowy B w ustawieniu drop-downów:

Wybieramy a) czerwoną obudowę i b) ładowarkę USB – cena: 470,00 zł.

Sprawa wydaje się prosta. Jednak pomyślmy że mamy 3 takie dropdowny (np. jeszcze słuchawki w kolorze białym albo czarnym) określające konfigurację danego produktu a w nim po 2 wartości i każda z możliwych konfiguracji – ma inną cenę.

Matematyka jest bezwzględna:) W takim przypadku 1 produkt ma 2*2*2 = 8 różnych cen. A produktów w bazie jest 0.5 tys. Czyli przy zmianie cen u dostawcy musimy zmienić ręcznie 4 tysiące wystąpień!

Poniżej sposób który zamiast 3 dni klikania w PrestaShop zajmie Wam niewiele więcej niż aktualizacja cen w Excelu.

Logowanie do phpMyAdmin i wyciągnięcie atrybutów w formie pliku Excela

Logujemy się do phpMyAdmin (zapytaj Twojego providera serwerowego jaki jest link na Twoim serwerze do tego programu).

Używamy dostępów w pliku konfiguracyjnym PrestaShop:

config/settings.inc.php

W prawym oknie klikamy nazwę naszej bazy. W prawym oknie klikamy zakłądkę SQL i pojawi się okno wprowadzania zapytania do bazy następnie wywołujemy poniższe zapytanie:

 


SELECT DISTINCT pl.name, pa.*, ag.id_attribute_group, ag.is_color_group, agl.name AS group_name, al.name AS attribute_name, a.id_attribute, pa.unit_price_impact

FROM ps_product_attribute pa

LEFT JOIN ps_product_attribute_combination pac ON pac.id_product_attribute = pa.id_product_attribute

LEFT JOIN ps_attribute a ON a.id_attribute = pac.id_attribute

LEFT JOIN ps_attribute_group ag ON ag.id_attribute_group = a.id_attribute_group

LEFT JOIN ps_attribute_lang al ON (a.id_attribute = al.id_attribute AND al.id_lang = 1)

LEFT JOIN ps_attribute_group_lang agl ON (ag.id_attribute_group = agl.id_attribute_group AND agl.id_lang = 1)

LEFT JOIN ps_product_lang pl ON (pa.id_product = pl.id_product)

ORDER BY pa.id_product_attribute

Zjeżdżamy pod wyniki zapytania na dół strony i wybieramy export wyników wyszukiwania:

 

PrestaShop Kraków

 

Wybieramy te opcje exportu:

 

PrestaShop Kraków

 

następnie klikamy “Wykonaj” i ściagamy plik CSV z wynikami zapytania.

Edycja cen w arkuszu kalkulacyjnym.

Plik otwieramy w LibreOffice lub MS Office tak otwieramy aby plik umożliwiał edycję cen tzn. w kolumnie B było ID-KOMBINACJI ATRYBUTU a w kolumnie J-CENA-DANEJ KOMBINACJI ATRYBUTU.

Zmieniamy ceny wg uznania kierując się opisem w wierszach a szczególnie w kolumnie A (nazwa produktu) oraz kolumnie T (nazwa danej kombinacji atrybutu). Na pewno zmienienie cen w takiej postaci będzie znacznie wygodniejsze niż klikanie po adminie sklepu.

Tworzenie pliku wsadowego SQL.

Gdy ukończymy edycję cen zostawiamy tylko 2 kolumny – wspomniane wyżej kolumny A (numer id kombinacji produktu) oraz J (cena – już zmieniona – kombinacji atrybutu). Resztę kolumn usuwamy.

Zawartość kolumny A (numer id kombinacji produktu) przenosimy do kolumny D, a zawartość kolumny J (cena kombinacji atrybutu) przenosimy do kolmny B:

 

 

PrestaShop Kraków

 

W kolumnie (pustej) A wstawiamy od A1 aż do końca wierszy wartość (dokłądnie taką z apostrofem na końcu!):

 

UPDATE `ps_product_attribute` SET `price` = '

 

W kolumnie (pustej) C wstawiamy od C1 aż do końca wierszy wartość  (dokłądnie taką z apostrofem na początku!):

 

' WHERE `id_product_attribute` =

 

W kolumnie (pustej) E wstawiamy od C1 aż do końca wierszy wartość (jeden znak – sam średnik):

 

;

Nasz plik powinien wygladać tak:

PrestaShop Kraków

 

Zaznaczamy całość dokumentu Excela i wklejamy go do jakiegoś zaawansowanego edytora tekstowego (w Windows np PSPAD) a w Linux – gedit. Następnie usuwamy wszystkie wystąpienia “tabulatorów” (tabulacji) – występują one w miejscach gdzie były granice między tabelami. Najlepiej usunąć je wszystkie na raz poprzez opcję znajdź i zamień. Zaznaczamy jedną tabulację wklejamy ją w znajdź a w zamień pozostawiamy puste pole. Poniżej wystąpienia tabulacji w takim pliku:

 

PrestaShop Kraków

 

Gdy już mamy plik uwolniony od tych znaków – zapisujemy go jako plik SQL (z rozszerzeniem .sql). Nazwa jest dowolna.

Następnie kompresujemy ten plik ZIPem (ważne aby nie np. RARem) aby mniej zajmował.

Aktualizacja cen.

Wracamy do naszego programu phpMyAdmin. Używamy opcji import:

 

PrestaShop Kraków

 

Wskazujemy na dysku plik stworzony plik ZIP i go przesyłamy. GOTOWE! Ceny zaktualizowane 😉

Share This:

  1. Nino says:

    witam
    bardzo ladnie
    ja mam pytanie czy tez mozna tak zrobic z Atrybutami i wartosciami produktow poniewaz
    na serwerze Kei.pl mieli i mieli i pda im serwer.
    Mam presta shop no i sporo atrzbutow spryedajemy soczeweki kontaktowe
    pozdrawiam
    nino

  2. admin
    admin says:

    Tutaj przedstawiony sposób służy do aktualizacji już wprowadzonych atrybutów. Rozumiem, że chodzi o generowanie kombinacji, które jest przerwane przez ograniczone zasoby Państwa serwera? Jeśli zasobów nie da się zwiększyć jedyna droga to zgranie całej bazy oraz plików na inny serwer (np. lokalny) przebudowanie kombinacji wg potrzeb i wgranie bazy ponownie. Potem jeśli już chodzi aktualizacje np. cen – można bazować na tym poście.

  3. Robay says:

    Jeśli ktoś nie czuje się na siłach, może wykorzystać takie rozwiązania jak np. moduł Mass Price Update Plus. Niestety są to dodatki płatne, ale znacznie uproszczają problem. Wybór takich rozwiązań jest relatywnie do problemu dosyć spory, a i ceny różne, ale myślę, że ten wymieniony powyżej jest najbardziej elastyczny, ponieważ posiada możliwość wyfiltrowania konkretnych kombinacji produktu. Aby wybrać coś dla siebie najlepiej osobiście przejrzeć odpowiedni dział dodatków pod adresem https://addons.prestashop.com/pl/433-szybkie-edytowanie

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *