stockDownloader
Pod-klasa Shop. Klasa pobierająca dane o wariancie produktu i wyświetlająca je na karcie. Jest to jedyna pod-klasa, która ma wiele instancji [dla każdego wariantu tworzona jest osobna], i nie jest inicjalizowana przy starcie Shop! Za jej wywołanie odpowiada stockHandler i zazwyczaj nie ma potrzeby umieszczania dodatkowych warunków startowych:
Shop.stockDownloader.condition = Function.from(true);
Parametry w HTML
- Shop.values.OptionImgWidth (int) - rozmiar zdjęcia produktu
- Shop.values.OptionImgHeight (int) - jw.
- Shop.values.optionCurrentStock (int) - ID domyślnie wybranego wariantu
Parametry w JS
Parametry Shop.stockDownloader.options :
- getstockurl (string) - adres do pobierana danych, musi zawierać trzy ciągi:
- {sid} - podmieniane na żądanych id warianatu
- {imgwidth} - szerokość zdjęcia produktu
- {imgheight} - wysokość zdjęcia produktu
- selectors (obiekt) - selectory do wszystkich danych o wariancie, brak domyślnych
- stockid - <input name=„stock_id”> (zazwyczaj type=„hidden”), który przekazuje razem z przyciskiem „dodaj do koszyka”, ID wariantu
- productimg - <img> ze zdjęciem produktu
- ddavailability - element na opis dostępności
- dddelivery - element na opis czasu dostawy
- dtdelivery - element poprzedzający dddelivery, zazwyczaj ze słowem „wysyłka” - w przypadku braku wysyłki produktu obydwa są ukrywane (klasa none)
- price - cena produktu
- nettoprice - cena netto
- addtofav - <a>, którego href jest ustawiany na dodanie wariantu do przechowalni
- basketform - formularz dodania do koszyka, ukrywany (klasa none), kiedy nie można kupić wariantu
- unit - jednostka produktu przy <input> na ilość (formularz koszyka)
- smallgallery - <img> małej galerii zdjęć, jako bieżące zaznaczane jest zdjęcie danego wariantu
- Shop.lang.common.product_stock_download_error
Funkcje pomocnicze
Funkcje pomocnicze zostają umieszczone poza instancjami pod-klasy w celu łatwiejszej modyfikacji ich zachowania własnym kodem.
get()
Shop.stockDownloader.get(shop_instance, sid)
Funkcja wywoływana przez stockHandler po wybraniu wariantu. Przyjmuje daną instancję klasy Shop oraz żądany ID wariantu. Sprawdza czy informacje o nim zostały już pobrane [tablica Shop.stockDownloader.downloaded]. Jeżeli tak, wywoływana jest na nich display(). Jeżeli nie, tworzona jest nowa instancja, która pobiera i wypełnia dane na stronie.