Aktualizacje i nowości
Dodano parametr fetchpriority do zarządzania ładowaniem obrazów karty produktu
Na platformie BooStore.pro dodano nowy parametr zarządzania ładowaniem obrazów — fetchpriority. W ustawieniach dostępny jest teraz rozszerzony zestaw trybów, który pozwala elastycznie kontrolować sposób i miejsce ładowania obrazów na stronie.
Co się zmieniło
W systemie dostępne są rozszerzone parametry, które umożliwiają:
- włączanie lub wyłączanie
loading="lazy" - zarządzanie dodawaniem rozmiarów obrazu (width/height)
- włączanie
fetchpriority="high"dla priorytetowego ładowania (nowy parametr) - ustawianie różnych trybów osobno dla karty produktu i listy produktów
- całkowite wyłączanie lub łączenie parametrów
Czym jest lazyload i fetchpriority
Lazy Load (loading="lazy") — to opóźnione ładowanie obrazów. Grafiki są wczytywane dopiero wtedy, gdy użytkownik przewinie stronę do ich miejsca. Zmniejsza to początkowe obciążenie i przyspiesza wyświetlanie strony.
Fetch Priority (fetchpriority="high") — to priorytetowe ładowanie obrazu. Przeglądarka otrzymuje sygnał, że określony obraz (np. główne zdjęcie produktu) powinien zostać załadowany szybciej niż inne zasoby. Jest to szczególnie ważne dla elementów LCP.
Pełna elastyczność zarządzania
Nowe parametry pozwalają łączyć tryby i precyzyjnie konfigurować strategię ładowania:
- włączać lazyload tylko tam, gdzie jest to potrzebne
- dodawać rozmiary obrazów w celu zapobiegania CLS
- ustawiać fetchpriority dla głównych obrazów
- rozdzielać ustawienia dla listy produktów i karty produktu
Dlaczego to ważne
Elastyczne zarządzanie ładowaniem obrazów pozwala:
- przyspieszyć wyświetlanie stron
- poprawić wskaźniki LCP i CLS
- zwiększyć ocenę w Google PageSpeed
- zmniejszyć obciążenie serwera i przeglądarki
- poprawić czynniki behawioralne
Teraz w BooStore.pro dostępna jest pełna elastyczność zarządzania ładowaniem obrazów w celu maksymalnego przyspieszenia strony i poprawy wyników Google PageSpeed.
Do BooStore.pro dodano dodatkowe menu poziome z kategoriami i producentami
Na platformie BooStore.pro dostępny jest nowy rodzaj poziomego menu z kategoriami i producentami, który usprawnia nawigację.
Główną cechą aktualizacji jest mechanizm rozwijania: podkategorie podrzędne otwierają się wewnątrz wspólnego bloku w formie listy rozwijanej, nie przesłaniając głównej zawartości i nie wykraczając poza jej granice. Inteligentne pozycjonowanie gwarantuje, że blok menu zawsze pozostaje w obszarze widocznym i nie wychodzi poza krawędzie ekranu użytkownika.
SaaS BooStore.pro całkowicie rezygnuje z zewnętrznej biblioteki jQuery i zakończyła już pełny refaktoring na czysty JavaScript.
BooStore.pro całkowicie zrezygnowali z Jquery
BooStore.pro oficjalnie zakończyli całkowitą rezygnację z biblioteki Jquery w rdzeniu systemu. Wszystkie wewnętrzne skrypty, komponenty interfejsu oraz widżety platformy zostały przeniesione na czysty Vanilla JavaScript. Ta strategiczna decyzja była wynikiem szeroko zakrojonej modernizacji technicznej, mającej na celu zwiększenie szybkości działania, stabilności i bezpieczeństwa stron.
Dlaczego Jquery przez długi czas była standardem
Jquery przez dekady stanowiła podstawę frontendu większości stron internetowych. W okresie intensywnego rozwoju webu przeglądarki różniły się obsługą JavaScript, brakowało wygodnych metod pracy z AJAX, zdarzeniami, manipulacją DOM i animacjami. Jquery rozwiązywała jednocześnie kilka problemów:
- Ujednolicenie kodu dla różnych przeglądarek
- Uproszczone selektory
- Wygodna obsługa AJAX
- Duża liczba wtyczek UI
- Szybsze tworzenie interfejsów
W tamtych latach było to rzeczywiście konieczne. Bez Jquery tworzenie złożonych interfejsów zajmowało znacznie więcej czasu.
Dlaczego dziś Jquery nie jest już potrzebna
Nowoczesne przeglądarki w pełni obsługują natywny JavaScript. Pojawiły się:
- Fetch API zamiast $.ajax
- querySelector / querySelectorAll zamiast $()
- classList do zarządzania klasami
- addEventListener z delegowaniem
- Animacje CSS i transition zamiast animacji JS
- Nowoczesne standardy ES6+
To, co wcześniej wymagało zewnętrznej biblioteki, jest dziś wbudowane w język i w 100% wspierane przez wszystkie aktualne przeglądarki.
Dodatkowa biblioteka stała się zbędnym obciążeniem:
- Zwiększa rozmiar strony
- Spowalnia ładowanie
- Tworzy ryzyko konfliktów z innymi skryptami
- Utrudnia utrzymanie
Skala wykonanej pracy
Zespół BooStore.pro przeprowadził ogromny refaktoring. Całkowicie przepisano:
- Panel administracyjny
- Widżety systemowe
- Filtry katalogu
- Okna modalne
- Mechanizmy AJAX
- Interaktywne elementy szablonów
Cały kod został przeniesiony na czysty Vanilla JavaScript bez użycia zewnętrznych frameworków. Pozwoliło to:
- Zmniejszyć obciążenie po stronie klienta
- Przyspieszyć działanie interfejsu
- Zwiększyć kompatybilność
- Uprościć utrzymanie i skalowanie
Ważne
Jquery została całkowicie usunięta z rdzenia systemu.
Bibliotekę należy podłączać wyłącznie w ostateczności — jeśli konieczne jest uruchomienie starej zewnętrznej wtyczki, która nie ma odpowiednika w czystym JS.
We wszystkich pozostałych przypadkach zdecydowanie zaleca się korzystanie z Vanilla JavaScript.
Jak podłączyć Jquery w razie potrzeby
Jeśli z obiektywnych powodów biblioteka jest jednak wymagana:
- Utwórz Blok lub Menu
- Umieść go w „Tagach systemowych”
- Ustaw wyświetlanie na wszystkich stronach
- Dodaj poniższy kod:
Code: HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
Przejście z Jquery na Native JavaScript
Wybór elementów (Selektory):
Code: JavaScript
// Jquery
$(".my-class");
// Native JS
document.querySelectorAll(".my-class");
Zdarzenia kliknięcia i delegowanie:
Code: JavaScript
// Jquery
$(document).on("click", ".btn", function() { ... });
// Native JS
document.addEventListener("click", function(e) {
if (e.target.closest(".btn")) { ... }
});
Zapytania AJAX:
Code: JavaScript
// Jquery
$.ajax({
url: "/api",
method: "POST",
data: { id: 1 }
});
// Native JS
fetch("/api", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ id: 1 })
}).then(response => response.json());
Praca z atrybutami:
Code: JavaScript
// Jquery
$(el).attr("data-src");
// Native JS
el.getAttribute("data-src");
Praca z klasami:
Code: JavaScript
// Jquery
$(el).addClass("active");
// Native JS
el.classList.add("active");
Pokazywanie i ukrywanie:
Code: JavaScript
// Jquery
$(el).toggle();
// Native JS
el.style.display = (window.getComputedStyle(el).display === "none") ? "block" : "none";
Dlaczego rezygnacja z Jquery jest strategicznie ważna
Nowoczesny web rozwija się w kierunku wydajności, minimalizmu i natywnych standardów. Rezygnacja z przestarzałych zależności oznacza:
- Lepsze wskaźniki Core Web Vitals
- Wyższą szybkość ładowania
- Mniej konfliktów i błędów
- Czystą architekturę projektu
- Gotowość do dalszego skalowania
Dziś Vanilla JavaScript w pełni pokrywa wszystkie potrzeby — od zaawansowanych mechanizmów AJAX po dynamiczny UI i interaktywne interfejsy.
BooStore.pro wykonali technologiczny krok naprzód, całkowicie modernizując architekturę frontendową platformy. To inwestycja w wydajność, stabilność i przyszłość systemu.
Podsumowanie
Jquery odegrała ważną rolę w rozwoju webu. Ale jej czas minął.
BooStore.pro całkowicie przeszli na czysty JavaScript, zapewniając nowoczesny, szybki i technologicznie aktualny standard działania stron.
Korzystaj z Vanilla JS — to szybciej, bezpieczniej i bardziej profesjonalnie.
Na BooStore.pro zaktualizowano edytor TinyMCE 8 oraz inne wtyczki systemowe
Z przyjemnością informujemy o dużej aktualizacji technicznej platformy BooStore.pro. Głównym celem tych zmian jest zwiększenie szybkości interfejsu, nowoczesna kompatybilność oraz realizacja naszej strategii stopniowego całkowitego wycofywania biblioteki jQuery na rzecz rozwiązań natywnych.
Nowy edytor TinyMCE 8 w czystym JavaScript
Wizualny edytor treści został zaktualizowany do wersji TinyMCE 8. Kluczową cechą tej aktualizacji jest fakt, że edytor działa teraz na czystym JavaScript (Vanilla JS), bez zewnętrznych zależności.
- Błyskawiczne ładowanie: Brak ciężkich bibliotek pozwala na znacznie szybszą inicjalizację edytora.
- Stabilność: Bardziej przewidywalne zachowanie kodu i brak konfliktów z innymi skryptami na stronie.
- Nowoczesny interfejs: Poprawiona ergonomia i obsługa najnowszych standardów webowych.
Responsywność tabel: Wtyczka hotengine_mobile_table
Całkowicie przeprojektowaliśmy skrypt wyświetlania tabel na urządzeniach mobilnych. Specjalnie dla BooStore.pro opracowano nową wtyczkę hotengine_mobile_table.
Teraz praca z danymi stała się jeszcze bardziej elastyczna:
- Automatyczna transformacja tabel do rozmiaru ekranu smartfona.
- Pełna kontrola: Zachowaliśmy dla użytkowników możliwość samodzielnego włączania i wyłączania widoku mobilnego dla każdej konkretnej tabeli w ustawieniach.
Inteligentna aktualizacja widżetów i Owl Carousel
Aktualizacje objęły również widżety systemowe. Szczególną uwagę poświęcono optymalizacji zasobów:
- Inteligentny program ładujący JQuery Owl Carousel: Skrypt karuzeli samodzielnie sprawdza teraz obecność jQuery w systemie. Biblioteka zostanie załadowana w tle tylko w razie rzeczywistej potrzeby, co znacząco oszczędza transfer i przyspiesza renderowanie strony dla większości użytkowników.
- Minimalizacja zależności: Widżety są sukcesywnie przenoszone na nowoczesne standardy przetwarzania danych.
Te aktualizacje to kolejny krok w stronę maksymalnie szybkiego i nowoczesnego BooStore.pro. Kontynuujemy optymalizację kodu, czyniąc platformę lżejszą i bardziej zaawansowaną technologicznie.
Na platformie BooStore.pro jQuery FlexSlider został zastąpiony czystym JavaScript
Na BooStore.pro slider został przeniesiony na własny komponent programowy — HotengineSwiper. To rozwiązanie zastąpiło przestarzały jQuery FlexSlider w ramach strategii całkowitej rezygnacji z ciężkich zewnętrznych zależności.
Kluczowe zalety HotengineSwiper:
- Wydajność: Brak zależności od jQuery pozwolił skrócić czas inicjalizacji skryptu i zmniejszyć całkowity rozmiar strony.
- Lepszy UX: Komponent został napisany w Vanilla JS z wykorzystaniem nowoczesnych Pointer Events, co zapewnia stabilny interfejs dotykowy i płynne gesty na urządzeniach mobilnych.
- Optymalizacja ładowania: Wdrożono natywne wsparcie Lazy Load oraz dynamiczne przeliczanie wysokości kontenera, co zapobiega „skokom” układu i oszczędza transfer.
- Efektywność SEO: Czysty kod i wysoka szybkość renderowania slajdów bezpośrednio poprawiają wskaźniki Core Web Vitals, co ma kluczowe znaczenie dla pozycjonowania.
HotengineSwiper to szybsze, lżejsze i bardziej funkcjonalne narzędzie, dostosowane do nowoczesnych standardów tworzenia stron internetowych oraz wymagań wyszukiwarek.
Przejście z Jquery jGrowl na własny moduł hotengine_notify
W ramach strategii zwiększania wydajności dokonano pełnej zamiany JQuery jGrowl na czysty JavaScript.
Nowy moduł hotengine_notify to nasze własne rozwiązanie, które w pełni zachowuje znaną logikę powiadomień, ale eliminuje projekt z nadmiarowych zależności i ciężkich bibliotek.
Co się zmieniło?
- Szybkość: Brak JQuery sprawia, że inicjalizacja powiadomień jest natychmiastowa.
- Waga: Kod modułu został skrócony wielokrotnie w porównaniu z oryginalnym pluginem.
- Natywność: Pełna obsługa nowoczesnych standardów ES6+.
Poradnik dla deweloperów i integratorów
Funkcjonalność hotengine_notify jest w pełni identyczna z jGrowl. Jeśli używałeś niestandardowych wywołań w swoich skryptach, wystarczy zmienić nazwę funkcji. Wszystkie kluczowe parametry (life, header, sticky, theme) działają zgodnie z dotychczasowym schematem.
Przykłady użycia
1. Podstawowe wywołanie (Komunikat informacyjny)Proste powiadomienie, które zniknie automatycznie po 3 sekundach.
hotengine_notify('Zmiany zapisane pomyślnie');
2. Ważne powiadomienie (Sticky Error)
Użyj tematu error dla krytycznych błędów. Taki komunikat nie zniknie, dopóki użytkownik nie kliknie krzyżyka.
hotengine_notify('Błąd dostępu do sekcji', {
header: 'Przerwanie systemowe',
theme: 'error',
sticky: true
});
3. Użycie funkcji Callback
Teraz możesz łatwo wykonywać kod przy zamknięciu powiadomie
Aktualizacja globalnych skryptów i przejście na czysty JavaScript
W ramach globalnej aktualizacji wszystkie główne skrypty stron platformy BooStore.pro zostały przepisane tak, aby działać praktycznie bez użycia biblioteki jQuery.
Zalety tego podejścia:
- Zmniejszenie wagi strony: brak konieczności ładowania całej biblioteki jQuery, co zmniejsza rozmiar skryptów i przyspiesza wyświetlanie stron.
- Wyższa wydajność: natywny JavaScript działa szybciej, szczególnie na urządzeniach mobilnych i słabszych przeglądarkach.
- Kontrola zależności: każdy skrypt jest ładowany tylko wtedy, gdy jest potrzebny.
- Elastyczność i skalowalność: kod można łatwo dostosować do nowych funkcji bez powiązania z konkretną wersją jQuery.
Aktualna implementacja:
- W panelu administracyjnym jQuery nadal jest ładowane automatycznie w celu obsługi starszych wtyczek.
- Na frontendzie strony mogą teraz w pełni działać na czystym JavaScript.
- Wszystkie biblioteki i dodatkowe skrypty są ładowane dynamicznie, w locie, pod konkretne potrzeby użytkownika, bez wstępnego ładowania dużych plików.
Główne aktualizacje:
- Okna modalne i kreator formularzy zostały całkowicie przepisane na natywny JS.
- Widgety produktów: slider produktów, tryb przesuwania, przewijanie palcem oraz dynamiczne ładowanie treści podczas scrollowania.
- Menu: zaktualizowane skrypty głównego menu oraz prostego menu mobilnego.
- Zaktualizowano skrypty sortowania produktów.
- Koszyk i dodawanie produktów:
- Zaktualizowano moduł dodawania produktów do koszyka.
- Zaktualizowano spinner i przełącznik ilości produktów dodawanych do koszyka.
- Zaktualizowano skrypt wyświetlania wariantów produktów na listach oraz podczas edycji za pomocą myszy.
- Zaktualizowano skrypt wyświetlania produktów dodanych do koszyka (okno podglądu po najechaniu kursorem na ikonę koszyka).
- Zapytania AJAX zostały całkowicie przepisane na standardowy JavaScript do ładowania stron, produktów, artykułów, formularzy i komentarzy.
Plany na przyszłość:
- Stopniowe przejście do w pełni modułowej architektury bez jQuery, przy jednoczesnym zachowaniu kompatybilności z interfejsem administracyjnym.
- Ze względu na to, że wielu użytkowników korzysta z własnych skryptów opartych na jQuery, zostanie wprowadzona globalna opcja umożliwiająca podłączenie biblioteki do strony w razie potrzeby.
Aktualizacja widżetu menu mobilnego na BooStore.pro: całkowite usunięcie jQuery
Na platformie BooStore.pro zaktualizowano widżet menu mobilnego. Główna zmiana polega na całkowitym usunięciu biblioteki jQuery. Teraz wszystkie elementy menu i funkcje interaktywne są realizowane w czystym JavaScript.
To rozwiązanie oferuje kilka kluczowych zalet:
- Szybsze ładowanie stron. Wcześniej menu czekało na załadowanie jQuery, co opóźniało wyświetlanie elementów na urządzeniach mobilnych. Przejście na natywny JavaScript eliminuje to oczekiwanie, dzięki czemu menu działa natychmiast.
- Całkowite usunięcie $.cookie. Biblioteka jQuery Cookie nie jest już używana do przechowywania ustawień użytkownika i stanu menu. Wszystkie ciasteczka i pamięć lokalna są obsługiwane standardowymi metodami JavaScript.
- Nowoczesne podejście do DOM. Otwieranie i zamykanie menu, przełączanie zakładek oraz obsługa zdarzeń są teraz realizowane za pomocą standardowych metod DOM API, co zwiększa stabilność i kompatybilność z różnymi urządzeniami i przeglądarkami.
W wyniku aktualizacji menu mobilne stało się szybsze, bardziej niezawodne i całkowicie niezależne od bibliotek zewnętrznych, co poprawia doświadczenie użytkownika i przyspiesza działanie strony na wszystkich urządzeniach.
Zaktualizowano biblioteki JavaScript na BooStore.pro
Całkowicie zaktualizowaliśmy wszystkie biblioteki JavaScript na stronie, aby interfejs działał szybciej i stabilniej.
Główne zmiany:
- Nowa lekka galeria obrazów: zastąpiono Colorbox (16 KB) na SimpleLightbox (7 KB) – w pełni niezależna galeria JavaScript. Zmniejsza to obciążenie strony, przyspiesza ładowanie i sprawia, że galeria jest niezależna od frameworka jQuery.
- Całkowita wymiana przestarzałych metod zapytań: wszystkie wywołania
$.ajax,$.geti$.postzostały zastąpione standardowym fetch API. Ta aktualizacja jest wymagana do przejścia na jQuery 4 oraz stopniowego uniezależniania się od tej biblioteki.
Zalety przejścia na fetch:
- Mniej zależności: jQuery nie jest już potrzebne do wykonywania asynchronicznych zapytań.
- Nowoczesny standard: fetch jest wbudowany w każdą nowoczesną przeglądarkę i obsługuje promises, co ułatwia przetwarzanie wyników i błędów.
- Wsparcie dla AbortController: łatwo wdrożyć limity czasowe i anulowanie zapytań, poprawiając responsywność interfejsu.
- Lepsza optymalizacja i szybkość: strony ładują się szybciej, ponieważ zmniejsza się ilość kodu i upraszcza przepływ danych między serwerem a klientem.
Te aktualizacje sprawiają, że BooStore.pro działa szybciej, bardziej niezawodnie i wygodniej dla wszystkich użytkowników. Śledź nasze kolejne ulepszenia!
Ważna aktualizacja na BooStore.pro: wszystkie strony teraz z SSL!
Miło nam poinformować, że wszystkie strony na platformie BooStore.pro domyślnie działają teraz przez bezpieczne połączenie HTTPS. Każda strona otrzymuje certyfikat SSL, co zwiększa ochronę danych użytkowników i buduje zaufanie do Twojego zasobu.
Ta aktualizacja to ważny krok w zwiększeniu bezpieczeństwa i niezawodności stron na naszej platformie. Nie musisz podejmować żadnych dodatkowych działań — automatycznie skonfigurowaliśmy certyfikaty dla wszystkich domen i subdomen.
Teraz Twoi odwiedzający mogą być pewni, że ich dane są chronione, a wyszukiwarki traktują Twoją stronę jako bezpieczny i nowoczesny zasób.
BooStore.pro nadal udoskonala platformę dla Twojej wygody i bezpieczeństwa!
Nowa opcja marż w eksportach reklamowych BooStore.pro
W systemie BooStore.pro dodano nową opcję zarządzania marżami w reklamowych eksportach XML (Google Merchant, Rozetka, Prom.ua, Epicentrk.ua i inne).
Teraz możesz elastycznie kontrolować, które marże będą stosowane podczas generowania eksportów, lub całkowicie je wyłączyć.
Dostępne możliwości
- całkowicie wyłączyć wszystkie marże i eksportować oryginalną cenę produktu;
- wyłączyć marże tylko dla wybranych platform reklamowych (Rozetka, Prom.ua, Epicentrk.ua);
- wyłączyć tylko marże formułowe, zachowując pozostałe zasady ustalania cen;
- używać standardowych marż bez zmian (tryb domyślny) — czyli te marże, które są wcześniej ustawione dla każdej kategorii w konkretnym eksporcie.
** — w BooStore.pro możesz ustalać indywidualne zasady marż dla każdej kategorii i każdej platformy reklamowej osobno, np. dla Rozetka, Epicentrk.ua lub Prom.ua.
Pozwala to precyzyjnie dostosowywać ceny do wymagań konkretnych kanałów reklamowych, unikać zbędnych narzutów i zwiększać konkurencyjność ofert.
Nowa opcja jest już dostępna w ustawieniach eksportów reklamowych i nie wymaga dodatkowych prac.
Nowe położenie bloku menu
W BooStore.pro dodano nowe położenie istniejącego bloku menu — w górnej części strony, ale pod drzewem kategorii.
To położenie jest przeznaczone dla elementów sterujących, które logicznie umieszczać bezpośrednio pod drzewem kategorii i przed główną listą produktów.
Na przykład:- sortowanie produktów
- dodatkowe opcje wyświetlania katalogu
- elementy nawigacyjne
Aktualizacja widgetów BooStore.pro: nowe zasady ładowania skryptów
W BooStore.pro wprowadzono ważną aktualizację dla wszystkich widgetów z produktami, kategoriami i producentami. Wcześniej parametr :htmlonly służył do wyłączenia ładowania skryptów i styli. Teraz został zastąpiony nowym parametrem :add-javascript, ale z odwrotną logiką.
Co to oznacza:
- Wcześniej
:htmlonlywyłączał ładowanie skryptów (przydatne, jeśli chcesz zaimplementować własny skrypt rozwijanego menu, style lub inne funkcje). - Teraz
:add-javascriptdziała odwrotnie — przy jego użyciu skrypty i style są ładowane automatycznie. - Wszystkie funkcje widgetów pozostały bez zmian, zmieniła się tylko logika włączania skryptów.
Ważne:
Na wszystkich stronach i we wszystkich blokach/menu, gdzie wcześniej używano widgetu bez parametru :htmlonly, został on automatycznie uzupełniony parametrem :add-javascript. Oznacza to, że skrypty widgetów są teraz ładowane poprawnie bez dodatkowej ręcznej konfiguracji.
Dodano system płatności https://fondy.ua/ru/?connect=118490
(z obsługą wielu języków, walut, Google Pay i Apple Pay). Dodano również zarządzanie stronami komunikatów o statusie płatności. Uwaga! Aby się podłączyć, konieczna jest rejestracja pod linkiem https://fondy.ua/ru/?connect=118490
Dodano system płatności Hutko (z obsługą wielu języków, walut i metod płatności).
Hutko.org — to ukraiński serwis płatniczy, który pozwala firmom łatwo i elastycznie przyjmować płatności online w różnych kanałach sprzedaży — na stronie internetowej, landing page, w mediach społecznościowych, chatbotach, aplikacjach mobilnych, a nawet offline za pomocą kodów QR.Obsługuje karty bankowe (Visa, Mastercard), portfele elektroniczne, Apple Pay, Google Pay i inne metody płatności, oferuje responsywną stronę płatności, automatyczną konwersję walut oraz narzędzia do ponownych obciążeń i analityki online.
Instrukcja podłączenia
BooStore.pro poprawia ładowanie skryptów: odejście od $.getScript
Zespół BooStore.pro zoptymalizował działanie JavaScript na platformie, zastępując $.getScript dynamicznym tworzeniem elementów <script> za pomocą czystego JavaScript.
Wcześniej skrypt ładowany był w ten sposób:
Code: JavaScript
$(function(){
if ($(".hotengine-shop-products-add-count-spinner").length){
if(typeof $hotengine_shop_product_count_spinner == "undefined"){
$.getScript("/templates/scripts/hotengine-script-shop-product-count-spinner.js?v33").fail(function(jqxhr, settings, exception) { console.error("Failed to load script: ", exception);
});
}
}
});
Teraz stosuje się inne podejście:
Code: JavaScript
$(function(){
if ($(".hotengine-shop-products-add-count-spinner").length){
if (typeof $hotengine_shop_product_count_spinner == "undefined"){
const s = document.createElement("script");
s.async = true;
s.src = "/templates/scripts/hotengine-script-shop-product-count-spinner.js?v34";
s.onerror = (e) => { console.error(`Failed to load script: ${s.src}`, e); };
document.head.appendChild(s);
}
}
});
Dlaczego jest to zalecane:
- Nie wymaga jQuery, mniej zależności.
- Kontrola nad ponownym ładowaniem: skrypt wstawiany jest tylko raz.
- Asynchroniczne ładowanie poprawia wydajność bez blokowania strony.
- Proste i przewidywalne obsługiwanie błędów przez
onerror. - Kod jest nowoczesny i kompatybilny z czystym JavaScript.
Dodano ładowanie wariantów produktów przez Ajax + JSON
W systemie zaimplementowano nowy sposób wyświetlania wariantów produktów na liście — ładowanie w locie z wykorzystaniem technologii Ajax i JSON. Pozwala to znacząco zmniejszyć obciążenie strony oraz przyspieszyć początkowe ładowanie strony.
Teraz warianty produktów mogą być ładowane dynamicznie: po kliknięciu przycisku «Kup» / «Wybierz» lub po najechaniu kursorem myszy. Takie podejście nie powoduje dodatkowego obciążenia serwera i jest optymalne dla większości sklepów z dużym asortymentem.
Ważne: dostępna jest również metoda płatna, w której warianty produktów są wyświetlane od razu na liście produktów. Opcja ta wymaga opłaty za rozszerzony eksport, ponieważ zwiększa obciążenie strony poprzez stałe ładowanie wszystkich wariantów.
Podczas korzystania z ładowania Ajax należy wziąć pod uwagę, że w sliderach produktowych oraz widżetach z dynamicznym przewijaniem mogą wystąpić trudności z poprawnym wyświetlaniem wariantów. Dlatego ten sposób zaleca się stosować przy standardowym przeglądaniu listy produktów, a nie wewnątrz sliderów ani widżetów produktowych.
Nowa funkcja: konwersja obrazów do WebP
Na platformie SAAS BooStore.pro dodano funkcję konwersji obrazów przy dodawaniu produktów do formatu WebP. Ten format zapewnia szybsze wyświetlanie i lepszą kompresję obrazów, co jest zalecane w celu optymalizacji szybkości strony.
Konwersja jest dostępna zarówno przy ręcznym dodawaniu produktów, jak i przy automatycznym imporcie. Aby włączyć konwersję, wystarczy zaznaczyć opcję «Konwertować do Webp» podczas przesyłania obrazów.
Teraz Twoje produkty będą ładować się w nowoczesnym formacie obrazów bez konieczności wcześniejszej konwersji plików, co przyspiesza działanie strony i zwiększa wygodę użytkowników.