Skocz do zawartości

Polecane posty

Dzień dobry 

Taki temat:

W cechach towaru mam dwie pozycje:

-104

-czarny

Pierwsza to rozmiar, druga kolor. Cechy te mam ustawione w Subiekcie, jest tam oczywiście przypisane, ze 104 to rozmiar, a czarny to kolor. 
Wystawiam aukcje za pomocą szablonu,  w specyficznych ( w szablonie )  zaznaczam w polach rozmiar i kolor tag:Cecha, dwa razy ten sam tag. 
W aukcji gotowej do wystawienia pole kolor mam uzupełnione,  natomiast  rozmiar nie. 
 

Edytowane przez Paweł Nitendel
Link to postu

Cechy, co do zasady to jest lista płaska i taką też synchronizuje Sello. Czyli w cechach w towarze Sello będą dwie cechy widoczne, Khaki i 110. Natomiast właściwość to jest pole dodatkowe w cechach Subiekta dodane na potrzeby vendero i w zasadzie tylko ono z tego korzysta do tworzenia wariantów w sklepie internetowym.

 

Tag [Towar::Cechy] zwraca w tym wypadku następujący ciąg znaków: khaki;110

Wpisanie takiej wartości do pola specyficznego kolor, które jest typu multiwybór działa w taki sposób, że Sello dzieli ten ciąg znaków po znaku średnika, czyli otrzymuje dwie wartości: khaki oraz 110 i takich wartości wyszukuje na liście dostępnych wartości dla tego pola (czyli dla pola kolor). Akurat khaki zostaje znaleziony więc się zaznacza, 110 nie zostaje znaleziony więc jest pomijany. Zatem działanie w przypadku kolorów nie wynika z tego, że Sello rozumie że to jest kolor, tylko dlatego, że wśród cech w towarze znalazła się akurat taka wartość oddzielona średnikiem od innych wartości, że pasuje do listy wartości parametru specyficznego.

 

W przypadku rozmiaru, pole to nie jest typu multiwybór, a typu tekst lub liczba (raczej liczba). Zatem tag [Towar::Cechy] wpisany w tym miejscu wstawi w to pole znów wartość: khaki;110, która nie jest liczbą - stąd zostaje odrzucona. Aby to zadziałało tag musi zwrócić taką treść, którą da się zamienić na liczbę.

 

Trzeba by się zatem pozbyć wszystkiego co nie jest liczbą, czyli w tym wypadku wszystkich kolorów z tego ciągu. Służy do tego modyfikator replace lub replace_many ale trzeba by było wpisać w niego wszystkie możliwe wartości jakie potencjalnie mogą się pojawić obok rozmiaru, czyli wszystkie kolory i wszystkie inne cechy, które mogłyby zostać do towaru dodane.

 

Jest jeszcze inne rozwiązanie, taki trik. Sello ma także modyfikatory matematyczne, które mają takie dodatkowe działanie, że z ciągu znaków wyciągają tylko samą liczbę i mogą na niej przeprowadzić jakieś operacje matematyczne. Jednym z nich jest np modyfikator add, który dodaje do liczby inną liczbę.

 

Jeśli zatem posłużymy się takim zapisem:

[Towar::Cechy | add=`0`]

to spowoduje "konwersję" tekstu khaki;110 na liczbę 110 po czym dodanie do niej 0. W wyniku wyjdzie 110 i jako prawidłowa liczba powinno zadziałać.

Nadal jednak Sello nie rozumie znaczenia tej liczby, że to jest rozmiar w Subiekcie, więc jeśli pojawi się jakaś inna liczba w cechach to zostanie ona sklejona i potraktowana jako wartość. Czyli np. cechy promocja2;khaki;110 zostaną odczytane w ten sposób jako 2110. Więc można z tego korzystać, dopóki w cechach znajdują się pojedyncze wartości liczbowe.

 

Do takiego zastosowania lepiej nadają się pola własne niż cechy, bo można je odpytywać po nazwie, czyli np [Towar::PWZ::kolor], [Towar::PWZ::rozmiar] w ten sposób otrzymując konkretną wartość danego typu.

Link to postu

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Użytkownik forum
Odpowiedz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...