Artykuły i poradniki dotyczące uruchamiania i rozwoju sklepu internetowego
Integracje, SEO, marketing, dropshipping i automatyzacja sklepu internetowego

Pełna personalizacja designu strony i sklepu internetowego: unikalny design własnymi rękami

Pełna personalizacja designu strony i sklepu internetowego: unikalny design własnymi rękami

Pełna personalizacja designu strony i sklepu internetowego: jak stworzyć unikalny design własnymi rękami

Wiele kreatorów stron zamyka w ramach: zestaw gotowych szablonów, ograniczony edytor i „nie dotykaj kodu”. BooStore działa odwrotnie — strona to elastyczna struktura (siatka), w którą blokami wstawia się wszystko, co potrzebne, a wygląd w pełni sterowany jest przez CSS. Możesz wziąć gotowy szablon jako podstawę i zmienić w nim każdy detal albo zbudować całkowicie unikalny design od zera — z własnymi blokami, menu, plikami i skryptami. I wszystko to robi się prosto w panelu administracyjnym: bez FTP, bez edycji jądra i bez programisty.

Struktura strony: wrapper, siatka i bloki

Główna idea BooStore — strona to gotowa struktura, a nie sztywny szablon. Struktura składa się z kilku głównych bloków-wrapperów, a do środka wstawia się już wszystkie pozostałe bloki i funkcje. Zrozumienie tego schematu to pierwszy krok do pełnej personalizacji.

#hotengine-wrapper — cała strona
#hotengine-header
nagłówek strony
.hotengine-wrap-container-side-left
.menu_position_top
#hotengine-content
#hotengine-content-container — siatka
centrum · lewa · prawa kolumna
.menu_position_buttom
.hotengine-wrap-container-side-right
#hotengine-footer
stopka strony

Kolumny zbudowane są na CSS Grid i sterowane atrybutem data-hasside. Żadnych tabel — tylko układ blokowy:

/*CONTENT GRID*/ #hotengine-content-container { display: grid; grid-template-areas: "container-left container-center container-right"; grid-template-columns: 0% 1fr 0%; margin: 0 auto; width: 100%; } #hotengine-content-container[data-hasside="both"] { grid-template-columns: auto 1fr auto; } #hotengine-content-container[data-hasside="left"] { grid-template-columns: auto 1fr; } #hotengine-content-container[data-hasside="right"] { grid-template-columns: 1fr auto; } .hotengine-wrap-container-side-center { grid-area: container-center; max-width: none; } .hotengine-wrap-container-side-left { grid-area: container-left; max-width: 270px; } .hotengine-wrap-container-side-right { grid-area: container-right; max-width: 270px; } @media (max-width: 767px){ #hotengine-content-container[data-hasside="both"] { grid-template-columns: 1fr auto auto; } #hotengine-content-container[data-hasside="left"] { grid-template-columns: 1fr auto; } #hotengine-content-container[data-hasside="right"] { grid-template-columns: 1fr auto; } } /*CONTENT GRID*/
data-hassideCo oznacza
(brak)Tylko centrum, kolumny boczne ukryte
leftObecny lewy blok/menu
rightObecny prawy blok/menu
bothObecne lewy i prawy blok/menu

Wewnątrz #hotengine-content treść wyświetla się w bloku zależnym od typu strony. Każdy typ ma własny ID, na który wygodnie nakładać osobne style:

  • Strony — #hotengine-content-page
  • Katalog artykułów — #hotengine-content-blog
  • Katalog produktów — #hotengine-content-shop
  • Katalog producentów/kolekcji — #hotengine-content-shop

Na stronach kategorii z listą podrzędną dodawana jest klasa: .hotengine-content-shop-category, .hotengine-content-shop-collection, .hotengine-content-shop-producer, .hotengine-content-blog-category. To właśnie ten wrapper funkcyjny, który pozwala stylizować osobny dział, kategorię lub typ strony niezależnie od pozostałych.

Oficjalna pomoc: opis głównych bloków, ID i klas — w bazie wiedzy „Zmiana bloków strony i edytor designu”.

📦 Szablon jako podstawa i jego demo

Najszybsza droga do unikalnego designu — zacząć od gotowego szablonu i go dopracować. Weźmiemy na przykład uniwersalny szablon Universal MobiFive Flex (templates_universal_mobifive_flex). Jest zalecany jako podstawa właśnie dlatego, że pokazuje wszystkie główne typy budowy nagłówka i łatwo adaptuje się do każdego stylu.

Zobacz demo szablonu: templatedemo437544.boostore.pro/pl/ — właśnie ten design użyty jest w powyższych przykładach.

Podczas instalacji szablon automatycznie:

  1. Tworzy styl CSS, który podłącza plik wyglądu przez @import:
@import url(/templates/templates_universal_mobifive_flex/templates_universal_mobifive_flex_437544/style.css);
  1. Tworzy bloki menu: nagłówek (header), stopkę (footer), slider strony głównej, sortowanie produktów.
  2. Włącza potrzebne funkcje: ulubione, porównanie, wyszukiwarkę z autouzupełnianiem, koszyk w nagłówku.
Kluczowy moment: plik stylu, który podłącza szablon, można pobrać, zmienić i zastąpić własnym. Otwórz Edytor designu → zakładkę „CSS style”: tam pole z Twoim CSS i przycisk wysłania kopii zapasowej stylu na e-mail (archiwum z style.css). Pobrałeś, edytowałeś lokalnie, wkleiłeś z powrotem w pole — strona wygląda już inaczej.
Podsumowanie: szablon to nie sztywny „skin”, a startowy zestaw bloków i pliku stylu. Wszystko, co tworzy, można później przepisać nie do poznania.

🎨 Edytor designu i style bazowe

Cała wizualna konfiguracja zebrana jest w Edytorze designu. Składa się z zakładek — od kolorów i nagłówka do czystego CSS:

ZakładkaCo się ustawia
Nagłówek stronyLogo, ikona strony (favicon), slogan, tło, formularz wyszukiwania, odstęp górny, wgrywanie obrazów
Menu głównePrzycisk mobilny, styl menu (linia lub osobne przyciski), kolory linków i aktywnego punktu, wygląd rozwijanej listy kategorii
Bloki/MenuStyl menu bocznych, widgety „Pokaż inne produkty” i „Z produktem kupują” (list, swipe, append, scroll, paginacja)
TreśćStyl treści, tło, rozmiar strony, linki, koszyk, produkty, zakładki, drzewo kategorii, reset stylu bazowego
Katalog stylówSchemat kolorów, styl kart produktów (1–4), styl formularzy (1–25)
CSS stylePole własnego CSS, edycja na żywo, kopia zapasowa stylu na e-mail
Dolna część stronyKolory stopki i widgetu stopki

Jakie style bazowe się ładują i jak je zastąpić

Platforma najpierw podłącza style bazowe (systemowe), a już na nich nakłada się styl szablonu. Kolejność jest taka:

  1. css_hotengine_require_system.cssgłówny styl bazowy platformy: strony, produkty, bloki i menu. To na niego „nakładają się” wszystkie Twoje style i styl szablonu.
  2. css_hotengine_require_language_XX.css — style wartości tekstowych dla każdego języka (ru, ua, en, pl itd.).
  3. css_hotengine_cart_table_mobile.css — tabela koszyka dla mobile.
  4. templates/styles/css_hotengine_reset_base_style.css — reset głównego wyglądu okien i bloków menu (włącza się w zakładce „Treść”).
  5. Style kart produktów — templates_base_styles/products/products_list1…4.css. Inny gotowy styl kart produktów dla listy wybiera się w „Katalogu stylów”, a kartę można też stylizować całkowicie po swojemu (o tym niżej).
  6. Style formularzy — templates_base_styles/forms/form1…25.css (25 wariantów).
  7. Styl szablonu — to, co dodaje się przy instalacji szablonu (przez @import pliku style.css).

Wszystko to zbiera się w jeden buforowany plik CSS. Każdy z tych stylów możesz zmienić na dwa sposoby:

✍️ Dopisać własne reguły

W zakładce „CSS style” dodaj własne selektory. Idą na końcu, więc nadpisują bazowe i szablonowe. To najbezpieczniejszy sposób.

📥 Wstawić styl szablonu i go edytować

Pobierz style.css szablonu, wklej jego zawartość w pole „CSS style” i edytuj bezpośrednio — tak zmieniasz sam styl źródłowy.

Ustawienia karty produktu i listy

Oprócz wyboru gotowego stylu, kartę produktu można skonfigurować przez Ustawienia sklepu (Panel administracyjny → Ustawienia → Sklep, strona set_p_store). Tam ustawia się pozycję głównych bloków i zachowanie karty — to już pełna unikalna personalizacja bez kodu:

UstawienieCo robi
Pozycja tytułu, obrazu, opisu, oferty/promocji, autopisuZmienia miejsce każdego głównego bloku w karcie produktu (na górze, po bloku z informacjami itd.)
Rozdzielić obraz i ofertęDzieli blok karty produktu na dwa osobne bloki — obraz i ofertę można ułożyć niezależnie
Pozycja bloku zakładekGdzie pokazywać zakładki (opis, cechy, opinie): w bloku z informacjami o produkcie, po offerdetails lub po desc-block
Zakładki jako akordeonZamienia zakładki w listę rozwijaną (Accordion) — wygodne na mobile
Styl listy kategorii i produktówWygląd wyświetlania kategorii, mozaikowe wyświetlanie produktów na liście
Pokazywać SKU, dostępność, porównanie, ulubione, warianty na liścieWłącza/wyłącza poszczególne elementy karty i listy
Pozycja obrazów na liście, Lazy Loading, rozmiar wgrywania obrazówSteruje zdjęciami na liście produktów i optymalizacją wgrywania
Podejście hybrydowe: wybierz bliski gotowy styl kart w „Katalogu stylów”, ustaw pozycję bloków i zakładek w ustawieniach sklepu, a następnie dopracuj wygląd własnymi regułami w „CSS style”. Tak powstaje w pełni unikalna karta produktu.
Ważne o bezpieczeństwie: w pole CSS nie można wstawiać skryptów ani tagów HTML — jest przeznaczone tylko na style. JavaScript podłącza się osobno przez „Bloki/Menu” (o tym niżej).

📁 Moje pliki: własne logo, tło i dowolne elementy stylu

Pełna personalizacja to nie tylko kod, ale i własne pliki. Służy do tego sekcja „Moje pliki” (Panel administracyjny → Moje pliki): można tu dodawać, przeglądać i usuwać pliki oraz tworzyć foldery. Wgrywaj własne obrazy (logo, tło, ikony, grafiki bloków) i podłączaj je w CSS lub HTML. Otwiera się tutaj: Moje pliki.

🗂️ Moje pliki

Lista wgranych plików i folderów. Przeglądanie, kopiowanie ścieżki (kliknięciem pliku) i usuwanie.

⬆️ Wgraj plik

Wgrywanie kilku plików naraz, wybór folderu, zamiana starego pliku i obróbka obrazów.

➕ Utwórz folder

Własna struktura folderów: images, files, photogallery lub własne kategorie dla grafik i stylów.

❓ Pomoc

Wbudowana podpowiedź dotycząca pracy z plikami i obrazami bezpośrednio w sekcji.

Co można wgrać i podstawić

  • Własne logo i ikonę strony (favicon) — zamiast standardowych.
  • Własne tło nagłówka, stopki lub całej strony.
  • Obrazy dla bloków, bannerów i slidera.
  • Własne ikony (w tym SVG) dla menu i przycisków.
  • Własne pliki CSS i JS (podłączane przez „Bloki/Menu”).

Obróbka obrazów podczas wgrywania

ParametrCo robi
FolderGdzie zapisać: auto (images / files / photogallery) lub własny folder
ZamienićZamienić stary plik o tej samej nazwie — wygodne przy aktualizacji logo
SzerokośćResize według szerokości (np. 1600px)
FormatWebP (domyślnie), JPG, PNG lub oryginał
JakośćStopień kompresji (10–100%)

Pliki przechowywane są w upload/catalog/{ID_strony}/files/. Po wgraniu skopiuj ścieżkę (kliknięcie pliku) i użyj jej w CSS lub w atrybucie src:

/* własne logo */ .header_section2 .logo { background: url(/upload/catalog/12345/files/images/logo.webp) no-repeat center / contain; } /* własne tło nagłówka */ .header_section1 { background: url(/upload/catalog/12345/files/images/header-bg.webp) no-repeat center / cover; }
Jakie to proste: wgrałeś plik → skopiowałeś ścieżkę → wkleiłeś w CSS lub w src. Żadnego FTP i edycji jądra — wszystko w panelu, w kilka kliknięć.

🗂️ Bloki/Menu: pozycje, menu, własne skrypty

„Bloki/Menu” — główne narzędzie personalizacji (nagłówek i stopka to też takie bloki). Tworzy się tu dowolne obszary treści i nawigacji. Dla każdego bloku dostępne są:

📍 Pozycja

Nagłówek (header), dół strony (footer), lewo, prawo, góra/dół treści, pod drzewem kategorii, w tagach funkcyjnych (Header Meta).

👁️ Wyświetlanie według stron

Wszędzie, tylko strona główna, tylko sklep, tylko blog, tylko aktualności, poza stroną główną, wyszukiwanie — precyzyjny wrapper funkcyjny pod konkretne działy i kategorie.

👤 Komu pokazywać

Wszystkim, tylko użytkownikom, tylko gościom, adminom, właścicielowi, menedżerom. Plus reguły według query string.

📱 Urządzenie i język

Wyświetlanie na komputerach lub mobile, a także dla konkretnego języka strony — osobne bloki dla każdego języka.

🧩 Treść HTML

Pełny edytor HTML: tekst, grafiki, układ, shortcody i bbcode. Tutaj też buduje się własne bloki.

⚡ JavaScript / CSS style

Checkbox przełącza blok w tryb JS lub CSS. Skrypt podłączany jest plikiem z trybem ładowania: zwykłym, async lub defer.

Menu główne

Menu główne można zbudować na dwa sposoby:

  • Przez widget menu głównego — najszybszy sposób. Dodajesz punkty, podpunkty, punkty-kategorie katalogu i punkty-producentów, ustawiasz ikony (PNG, JPG, WEBP, SVG), kolejność (drag&drop), przypisanie do języka. Menu eksportuje i importuje się w JSON.
  • Własne menu ręcznie — jeśli potrzebna szczególna logika lub układ, blok buduje się jak zwykły blok HTML.

Przez widget od razu powstaje rozwijane menu z kategoriami — to najwygodniejsze dla katalogu. W edytorze designu wybiera się wygląd listy kategorii: standardowy, okno wyskakujące, lista z kolumnami lub całkowite wyłączenie skryptu.

Mega menu i Flex menu. W ustawieniach menu dostępne są różne typy nawigacji: rozwijane po najechaniu, responsywne mega menu z burgerem, pionowe Flex menu o stałej wysokości, poziome menu-karuzela. Wszystko to ustawia się parametrami i wstawia w dowolną pozycję.

Własne skrypty z optymalizowanym ładowaniem

Jeśli włączysz w bloku tryb „JavaScript / CSS style”, silnik zapisze Twój kod w osobnym pliku i podłączy go z właściwym trybem ładowania:

<!-- tryb zwykłego ładowania --> <script src="/upload/catalog/.../scripts/code_menu_XX.js?t=..."></script> <!-- lub async / defer — aby nie blokować renderowania --> <script async src="..."></script>

Tak dodajesz dowolne własne skrypty, nie spowalniając ładowania. Dla stylu CSS blok zapisuje się w plik .css i podłącza jako styl. To właśnie „własne bloki menu ze skryptami” — pełna kontrola bez edycji jądra platformy.

🖼️ Stylizacja stron i siatka produktów po ID

Bloki/Menu dają ogólny szkielet, ale BooStore pozwala pójść dalej i stylizować każdą stronę osobno. Sekret w tym, że główny blok #hotengine-wrapper otrzymuje dynamiczne klasy z ID bieżącej strony lub kategorii. Oznacza to, że możesz napisać CSS, który zadziała tylko na jednej stronie, tylko w jednej kategorii lub od razu na wszystkich stronach danego typu.

Klasa na #hotengine-wrapperDo czego się stosuje
.hotengine-wrapper-pageid-{ID}Konkretna strona, produkt lub artykuł po jej ID
.hotengine-wrapper-shop-pageWszystkie strony produktów (karta produktu)
.hotengine-wrapper-shop-category + .hotengine-wrapper-catid-{ID}Kategoria sklepu, producenta lub kolekcja
.hotengine-wrapper-blog-pageWszystkie artykuły bloga
.hotengine-wrapper-blog-category + .hotengine-wrapper-catid-{ID}Kategoria bloga
.hotengine-wrapper-catid-{ID}Dowolna strona przypisana do tej kategorii (ID)

Przykłady: wystylizować jedną konkretną stronę po jej ID, ustawić własne tło konkretnej kategorii sklepu lub zmienić wygląd od razu u wszystkich produktów.

/* Tylko jedna konkretna strona po jej ID */ #hotengine-wrapper.hotengine-wrapper-pageid-12345 { background: #f8fafc; } /* Tylko konkretna kategoria sklepu (po ID kategorii) */ #hotengine-wrapper.hotengine-wrapper-shop-category.hotengine-wrapper-catid-77 .hotengine-shop-product-list-block { border-color: #2563eb; } /* Od razu wszystkie strony produktów */ #hotengine-wrapper.hotengine-wrapper-shop-page #hotengine-content-shop { padding-top: 10px; }
Jak poznać ID: otwórz potrzebną stronę i zobacz klasę #hotengine-wrapper w inspektorze (F12) — tam będzie hotengine-wrapper-pageid-… lub hotengine-wrapper-catid-…. Albo weź ID z panelu. To pozwala punktowo zmieniać design, nie ruszając reszty strony.

Siatka produktów: jak renderuje się lista

Lista produktów ma własną zagnieżdżoną strukturę. Rozumiejąc ją, łatwo zmieniać liczbę kart w rzędzie, odstępy i wygląd kafelków. W uproszczeniu wygląda to tak:

#hotengine-content-shop └─ .hotengine-shop-products-list-wrapper └─ .hotengine-shop-products-list-div └─ .hotengine-shop-products-list-content └─ .hotengine-shop-product-list-block ← karta produktu (jest ich wiele) ├─ .hotengine-shop-products-list-img / .hotengine-shop-product-img ├─ .hotengine-shop-product-name ├─ .hotengine-shop-product-price_val ├─ .hotengine-shop-product-price_old └─ .hotengine-shop-product-cart_add_img
.hotengine-shop-products-list-content — karty idą kolejno
.hotengine-shop-product-list-blockZdjęcie · Nazwa · Cena · Kup
.hotengine-shop-product-list-blockZdjęcie · Nazwa · Cena · Kup
.hotengine-shop-product-list-blockZdjęcie · Nazwa · Cena · Kup

Karty to bloki .hotengine-shop-product-list-block (domyślnie inline-block), a kontener .hotengine-shop-products-list-content ustawia je w rzędzie. Zmieniając szerokość karty i zawijanie, ustawiasz siatkę pod swój design:

/* 3 karty w rzędzie na desktopie, 2 na tablecie, 1 na mobile */ .hotengine-shop-products-list-content { display: flex; flex-wrap: wrap; gap: 8px; } .hotengine-shop-product-list-block { width: calc(33.33% - 8px); margin: 0; } @media (max-width: 900px){ .hotengine-shop-product-list-block { width: calc(50% - 8px); } } @media (max-width: 560px){ .hotengine-shop-product-list-block { width: 100%; } }

Tak samo konfiguruje się kartę produktu, jej cenę, przycisk „Kup” i ikony — wszystkie mają stałe klasy, które nie zmieniają się przy aktualizacjach platformy.

🧰 Widgety i shortcody

Oprócz bloków w BooStore są widgety — gotowe elementy funkcyjne, które wygodniej trzymać w jednym miejscu i edytować przez ich edytor. Są to m.in.: okna wyskakujące, menu mobilne, slidery, stopka, widget kontaktów, Slide Menu, generatory menu kategorii/produktów/producentów/artykułów.

Shortcody — autozamiana danych

Shortcode to krótki kod, który system zamienia na rzeczywiste dane strony. Można je wstawiać w dowolny blok HTML (jak w nagłówku), na stronę, do e-maila. Główne:

ShortcodeCo wyświetla
{HOTENGINE-SC:current_page_id}ID bieżącej strony (artykułu, produktu, aktualności)
{HOTENGINE-SC:site_url}Adres Twojej strony
{HOTENGINE-SC:lang}Język otwartej strony
{HOTENGINE-SC:site_tagline}Slogan strony
{HOTENGINE-SC:shop_cart_menu}Gotowy blok koszyka
{HOTENGINE-SC:main_menu_widget}Menu główne
{HOTENGINE-SC:langmenu}Przełącznik języków
{HOTENGINE-SC:currencymenu}Przełącznik walut
{HOTENGINE-SC:favorites}Ulubione produkty
{HOTENGINE-SC:shop_compare_menu}Przycisk porównania produktów
{HOTENGINE-SC:contacts}Blok kontaktów
{HOTENGINE-SC:shop_cat_page_title}Nazwa produktu (na stronie produktu)
{HOTENGINE-SC:shop_cat_page_price}Cena produktu
{HOTENGINE-SC:shop_cat_page_image}Link do obrazu produktu
{HOTENGINE-SC:shop_cat_page_sku}SKU produktu
{HOTENGINE-SC:user_nickname}Imię zalogowanego użytkownika
{HOTENGINE-SC:user_cashback}Saldo Cashback klienta
{HOTENGINE-SC:pers_shop_cat_val_name}Nazwa kategorii sklepu
{HOTENGINE-SC:blog_cat_page_title}Tytuł artykułu
{HOTENGINE-SC:slide_menu_widget:XX}Widget Slide Menu po ID
{HOTENGINE-SC:slider_widget:XX}Slider po ID
{HOTENGINE-SC:smart_search_widget:PARAM}Filtr wyszukiwania z parametrami
{HOTENGINE-SC:feedback_form:ID}Formularz kontaktowy

Poza tym działają bbcode: [FORM:12] wstawia formularz po ID, a [MENU:...] — wygenerowane menu lub zestaw.

Widget z produktami: dowolny zestaw w dowolnym miejscu

Osobno warto wspomnieć widget produktów. Generator zbiera kod typu [MENU:shop_products_slider:...], który wyświetla zestaw produktów: slider, siatkę, mozaikę, przewijanie z autodoładowaniem. Dostępne są dziesiątki parametrów:

  • Co pokazać: kategoria i podkategorie, producent, kolekcja, typ produktu, dostępność, bestsellery, rabaty, promocje, nowości, „cena obniżona”, ostatnio oglądane, ulubione, wyszukiwanie, konkretne ID, zakres ceny, język wyświetlania.
  • Sortowanie: po ID, dacie, cenie, nazwie, priorytecie; rosnąco/malejąco; losowo.
  • Wyświetlanie: przycisk „do koszyka”, porównanie, opis, ocena gwiazdkami, ikona ulubionych, warianty (rozmiar/kolor), lazy-loading.
  • Tryby przewijania: :scroll (autodoładowanie), :carousel (karuzela), :swipe (przesuwanie), :append („Pokaż więcej”), :mosaic-sides (mozaika), :auto_width.
/* przewijanie z autodoładowaniem na mobile */ [MENU:shop_products_slider:pers_cat_id-0:on_page-4:start-0:button-cart:button-compare:description:favorite-icon:auto_width:lang-ru:scroll-768x8x0]

Przykłady wszystkich wariantów z żywym demo — na stronie „Widget z produktami”.

Widgety HTML: gotowe bloki interaktywne

W sekcji widgetów HTML są gotowe bloki z kodem, które wystarczy skopiować do bloku lub na stronę:

Accordion i Tabs

Akordeon i zakładki bez ciężkich bibliotek — na czystym CSS i lekkim JS.

Callback i formularze

Blok „Oddzwonimy do Ciebie” z telefonami i wyskakującym formularzem oddzwonienia.

Opinie i komentarze

Karuzela opinii przez AJAX/JSON, przycisk „Dodaj opinię”, integracja Google Reviews.

Spoiler i Price range

Spoiler na czystym CSS i slider zakresu cen dla filtra wyszukiwania.

📱 Menu mobilne „jak aplikacja”

Menu mobilne to osobny widget, który zasługuje na uwagę. Działa jak pełnoprawna aplikacja: wysuwa się na cały ekran, z ikonami, kategoriami i filtrem. Wszystkie parametry ustawia się w jego edytorze, a jest ich bardzo wiele — wygląd można dopasować do dowolnego brandu.

Co można ustawić:

  • Aktywacja: próg szerokości ekranu, przy którym menu się włącza; pokazywać zawsze; zastąpić główny przycisk lub wyświetlić osobnym panelem.
  • Górny blok ikon: wyszukiwanie, język, ulubione, porównanie, koszyk, telefon, kontakty, e-mail, oddzwonienie, do 5 własnych ikon. Dla każdej — własny formularz i rozmiar okna wyskakującego.
  • Kolory: tło menu i aktywnego punktu, kolor linków i ikon, przycisk i jego hover, obramowania, tło filtra, maska przyciemniająca, autoryzacja — dziesiątki parametrów kolorów.
  • Punkty menu: własne linki i podpunkty oraz specjalne: close (zamknij), pusta wartość (separator), #filter (okno filtra), #form-XX (formularz po ID), #ajax_page (doładowanie treści HTML).
  • Filtr wyszukiwania bezpośrednio w menu: wybierasz blok filtra — i otwiera się po kliknięciu.
  • Ukrywanie elementów szablonu: logo, nagłówek, koszyk, porównanie, górny wiersz — aby interfejs był czysty.
Wydajność: przy ładowaniu strony ładuje się tylko przycisk i minimalna funkcjonalność. Pełny skrypt menu doładowuje się po naciśnięciu, a zawartość przechowywana jest w osobnym buforowanym pliku. Dlatego menu mobilne nie uderza w szybkość.
Wskazówka: aby dodać w menu ikonę „Kontakt”, utwórz stronę contacts i wskaż link /pl/contacts.htm#ajax_page (dla właściwego języka). Treść doładuje się bezpośrednio w menu.

🤖 Własny unikalny styl przez AI i inspektor

Nawet jeśli nie piszesz CSS ręcznie, unikalny design można uzyskać dzięki AI. Schemat jest prosty i działa w praktyce:

1

Zainstaluj szablon jako podstawę

Wybierz gotowy szablon w katalogu szablonów i zainstaluj go. Utworzy on styl CSS, nagłówek, stopkę i potrzebne bloki. Dla przykładu można kierować się demo Universal MobiFive Flex.

2

Zbierz „dane wejściowe” dla AI

Otwórz stronę w przeglądarce i przez inspektor stylów (F12) obejrzyj potrzebne elementy. Przygotuj trzy rzeczy: fragment stylu CSS, który chcesz zmienić, kod HTML nagłówka (lub innego bloku) i opis pożądanego rezultatu.

3

Użyj llms.txt jako podpowiedzi do promptu

Wyślij AI link boostore.pro/llms.txt — to gotowa instrukcja platformy: bloki bazowe, shortcody (np. kod koszyka {HOTENGINE-SC:shop_cart_menu}), struktura, widgety. AI zrozumie kontekst i wygeneruje poprawny CSS/HTML właśnie pod BooStore, a nie „abstrakcyjny” kod.

4

Zbierz specyfikację i otrzymaj styl

Sformułuj zadanie: „oto fragment CSS i kod nagłówka, oto struktura (3 sekcje po 3 bloki), zrób styl w takiej palecie, zachowaj responsywność”. AI zwróci gotowy CSS. Wklej go w Edytor designu → CSS style — i zapisz.

5

Iteruj i zapisuj styl

Dopracowuj detale, ponownie wysyłając AI zrzuty ekranu lub fragmenty. Gdy wynik zadowoli — zapisz styl. Dalej zarządzasz nim sam, a nie zależysz od dewelopera.

Warto wiedzieć: na stronie demonstracji edytora i w bazie wiedzy jest osobny dział „Style przez AI” — można porównać podejścia i zobaczyć gotowe przykłady.

🧩 Biblioteka gotowych bloków do wstawienia na stronę

Jeśli nie chcesz tworzyć układu od zera, jest biblioteka gotowych blokówtemplates_visual_blocks.html. To dziesiątki responsywnych sekcji, które można wstawić bezpośrednio na stronę lub do Bloku/Menu i od razu użyć.

🎯 Nagłówki (Headlines)

22 style: sekcje hero, banery promocyjne, wezwania do działania, warianty premium, z opiniami, plakietkami i licznikami.

🔀 Sekcje split

Obraz + tekst, ikony, statystyki, karty nawigacji, siatki bento, wyprzedaż + nowości.

📞 Kontakty i social media

Bloki kontaktu i ikony social media z animacją.

✅ Zalety i ikony

Listy zalet w różnych stylach i zestawy ikon SVG dla dowolnego bloku.

Każdy blok ma przyciski „Pokaż przykład”, „Pokaż kod” i „Otwórz w nowym oknie” — można skopiować cały kod. Bloki są responsywne, a kolor sterowany jest zmiennymi CSS: wystarczy zmienić jedną zmienną, aby przemalować blok pod swój brand. Oto gotowy blok „Zalety” (4 karty z ikonami) w ciemnym motywie — dokładnie tak, jak wstawiasz go na stronę:

<section class="hotengine-ve-darkmode hotengine-ve hotengine-ve-benefits-style-8"> <div class="ve-container"> <div class="ve-grid"> <div class="ve-item"> <div class="ve-accent-bar"></div> <div class="ve-icon-box"> <img src="/templates/styles/svg_icon/svg_color/delivery-truck.svg" alt="Delivery"> </div> <b>Szybka dostawa</b> <span>Dostarczamy w całym kraju w 1-3 dni kurierem</span> </div> <div class="ve-item"> <div class="ve-accent-bar"></div> <div class="ve-icon-box"> <img src="/templates/styles/svg_icon/svg_color/heavy-check-mark.svg" alt="Guarantee"> </div> <b>Oficjalna gwarancja</b> <span>Wszystkie produkty są certyfikowane i mają oficjalną gwarancję</span> </div> <div class="ve-item"> <div class="ve-accent-bar"></div> <div class="ve-icon-box"> <img src="/templates/styles/svg_icon/svg_color/sale-percent.svg" alt="Deals"> </div> <b>Rabaty i promocje</b> <span>Stałe promocje, sezonowe wyprzedaże i osobiste kody rabatowe</span> </div> <div class="ve-item"> <div class="ve-accent-bar"></div> <div class="ve-icon-box"> <img src="/templates/styles/svg_icon/svg_color/synchronize.svg" alt="Returns"> </div> <b>Łatwy zwrot</b> <span>Zwrot produktu w ciągu 30 dni bez zbędnych pytań</span> </div> </div> </div> </section> <style type="text/css">@import url("/templates/visual/blocks/benefits/style-8/style.css");</style> <style type="text/css"> .hotengine-ve-benefits-style-8 { --ve-8-accent: #1d83a9; --ve-8-accent-soft: #1d83a933; } </style>

A tak ten sam blok wygląda na stronie — to rzeczywisty HTML wstawiony bezpośrednio do artykułu:

Delivery
Szybka dostawa Dostarczamy w całym kraju w 1-3 dni kurierem
Guarantee
Oficjalna gwarancja Wszystkie produkty są certyfikowane i mają oficjalną gwarancję
Deals
Rabaty i promocje Stałe promocje, sezonowe wyprzedaże i osobiste kody rabatowe
Returns
Łatwy zwrot Zwrot produktu w ciągu 30 dni bez zbędnych pytań

Ten kod wstawia się bezpośrednio na stronę (w edytorze HTML) lub do Bloku/Menu. Wygląd zadaje podłączony przez @import plik style.css, a kolory — zmienne --ve-8-accent i --ve-8-accent-soft: zmieniłeś wartości — blok przemalował się pod Twój brand. Klasa hotengine-ve-darkmode przełącza blok w ciemny motyw. Ikony to zwykłe SVG z zestawu platformy, można je zastąpić własnymi.

Kolejność pracy: wybrałeś blok → „Pokaż kod” → skopiowałeś → wstawiłeś na potrzebną stronę lub do Bloku/Menu → zmieniłeś kolory, tekst i ikony. Gotowe bloki + ikony to najszybszy sposób na zbudowanie pięknego unikalnego designu, nawet bez bycia designerem.

Łącz: gotowe bloki z biblioteki + własne style z „CSS style” + własne logo z „Moje pliki” = całkowicie unikalna strona bez ani jednej linii kodu od zera.

🧰 Bloki funkcyjne menu: filtr, produkty, formularze

Oprócz bloków, które tworzysz sam, na platformie są bloki funkcyjne — gotowe moduły, które też wstawia się jako Blok/Menu lub shortcodem i które w pełni poddają się stylizacji. Oto główne:

Blok funkcyjnyCo robi
Filtr wyszukiwaniaWyświetla filtry według cech, ceny, producenta, dostępności dla wybranej kategorii lub typu produktu. Wstawia się do sidebara, na stronę lub do menu mobilnego
Widget z produktamiZestawy produktów: kategoria, rabaty, nowości, bestsellery, konkretne ID, zakres ceny. Slider, siatka, mozaika, autodoładowanie
Kategorie sklepuMenu lub siatka kategorii: pionowe, poziome, rozwijane, mega menu, karuzela
Producenci i kolekcjeLogotypy i listy marek, wyświetlanie kolekcji
Artykuły i aktualnościWidget z listą artykułów bloga lub aktualności
Formularze i okna wyskakująceOddzwonienie, szybkie zamówienie, formularze konstruktora, popupy według czasu/scrolla
Koszyk, porównanie, ulubioneGotowe elementy interaktywne z licznikami
Slider, kontakty, stopka, Slide MenuGotowe widgety dla nagłówka, stopki i paneli bocznych

Przykład: filtr wyszukiwania + produkty

Klasyczne połączenie dla kategorii — po lewej filtr wyszukiwania, w centrum lista produktów. Oba elementy to bloki funkcyjne i oba stylizuje się przez CSS. Najlepiej tworzyć filtr przez funkcyjne bloki menu (Bloki/Menu → Menu funkcyjne → Filtr wyszukiwania): wtedy automatycznie przypisuje się do właściwej kategorii i typu produktu, a wyświetlanie ustawia się według stron. W razie potrzeby filtr można jednak wstawić i na dowolną stronę — shortcodem lub osobnym blokiem.

{HOTENGINE-SC:smart_search_widget:PARAM}

A zestaw produktów wyświetla widget (generator listy produktów):

[MENU:shop_products_slider:pers_cat_id-0:on_page-12:start-0:button-cart:button-compare:description:favorite-icon:auto_width:lang-ru:scroll-768x8x0]

Lista produktów doładowuje się przez AJAX (/ajax_get_list_shop.php), dlatego filtr i zestawy działają szybko i bez przeładowania strony. Wszystko to zwykłe bloki, które można umieścić w dowolnej pozycji i przemalować pod swój styl.

Wniosek: personalizacja nie ogranicza się do „własnych” bloków. Nawet moduły funkcyjne (filtr, koszyk, kategorie, produkty) wstawia się jako bloki i w pełni stylizuje — tak powstaje unikalny interfejs funkcyjny.

⚡ Szybkość: personalizacja bez utraty PageSpeed

Personalizacja nie może oznaczać wolnej strony. BooStore zaprojektowano tak, aby maksymalnie wycisnąć wskaźniki szybkości nawet przy całkowicie unikalnym designie:

🚀 Vanilla JS

Bez jQuery i ciężkich frameworków. Tylko natywny JavaScript — mniej kodu, wyższa szybkość.

🖼️ WebP i Lazy Loading

Obrazy automatycznie konwertują się do WebP, tworzone są miniatury potrzebnego rozmiaru i ładują się w miarę pojawiania się w polu widzenia.

📦 Dynamiczne ładowanie

Skrypty podłączają się tylko wtedy, gdy są potrzebne: okna wyskakujące, koszyk, warianty, menu mobilne — wszystko na żądanie.

🗄️ Wielopoziomowy cache

CSS zbiera się w jeden plik, menu i widgety są buforowane, czas generowania strony — 0.1–0.3 sek.

Szczegóły o wersji mobilnej, responsywności i optymalizacji — w artykule „Responsywny układ i menu mobilne dla sklepu internetowego”. Tam też pokazano, jak dynamiczne ładowanie skryptów i właściwa praca z obrazami dają PageSpeed 99–100.

Wniosek: możesz swobodnie dodawać własne bloki, skrypty i style — platforma sama zadba o minifikację, buforowanie i odroczone ładowanie. Unikalny design i wysoka szybkość nie stoją w sprzeczności.

⚠️ Częste błędy przy personalizacji

Nie wstawiaj JavaScript do pola CSS. Zakładka „CSS style” przyjmuje tylko style. Do skryptów używaj „Bloki/Menu” z trybem „JavaScript / CSS style”.
Nie nadpisuj stylów bazowych bezmyślnie. Jeśli chcesz zacząć „od zera”, włącz „Reset stylu bazowego” w zakładce „Treść”, inaczej stare style będą kolidować z nowymi.
Nie zapominaj o mobile. Zawsze sprawdzaj wynik na wąskich ekranach (F12 → tryb urządzenia). Nagłówek z trzech sekcji musi poprawnie przebudowywać się w jedną kolumnę.
Ostrożnie z bezpośrednimi edycjami jądra. Personalizację rób przez bloki, menu, CSS i widgety — wtedy aktualizacje platformy nie ruszą Twojego designu.

Przydatne linki

🛠️ Realny przykład: własny stylowy, responsywny nagłówek

Aby pokazać, jakie to proste, zbudujemy realny nagłówek od zera: trzy poziomy (górny wiersz, główny wiersz z wyszukiwarką i ikonami, menu), nowoczesny wygląd i pełna responsywność. Poniżej — on sam na żywo, potem CSS, który to robi, i kod HTML do wstawienia w Blok/Menu. W przykładzie użyto tylko dwóch shortcodów — ulubione i koszyk, aby ikony działały naprawdę.

Jak to wygląda na żywo

CSS, który to robi

Cały styl to czysty CSS. Ustawia kolory, odstępy, zaokrąglenia, wyszukiwarkę i responsywność. Skopiuj go do Edytora designu → CSS style:

/* ===== Nagłówek ===== */ .rex-header{ position:relative;font-family:inherit;border:1px solid #e2e8f0;border-radius:20px;overflow:hidden; background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);margin:18px 0; box-shadow:0 18px 45px -18px rgba(51,65,85,.35),0 6px 18px rgba(15,23,42,.06); transition:box-shadow .4s ease,transform .4s ease; } .rex-header:hover{box-shadow:0 26px 60px -20px rgba(51,65,85,.5),0 10px 24px rgba(15,23,42,.08)} /* animowany pasek na górze */ .rex-header::before{ content:"";position:absolute;left:0;right:0;top:0;height:3px; background:linear-gradient(90deg,#334155,#475569,#64748b,#334155);background-size:200% 100%; animation:rex-shine 7s linear infinite; } @keyframes rex-shine{0%{background-position:0% 0}100%{background-position:200% 0}} /* ogólne style linków */ .rex-header a{text-decoration:none;transition:color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease} .rex-header [onclick]{cursor:pointer} /* ===== Górny wiersz ===== */ .rex-top{ display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center; padding:10px 18px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0);color:#64748b;font-size:.8em; border-bottom:1px solid #e2e8f0; } .rex-top a{color:#64748b;font-weight:500;position:relative} .rex-top a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:linear-gradient(90deg,#334155,#475569);transition:width .3s ease} .rex-top a:hover{color:#0f172a} .rex-top a:hover::after{width:100%} .rex-top-links,.rex-top-contacts{display:flex;flex-wrap:wrap;gap:16px;align-items:center} /* ===== Główny wiersz ===== */ .rex-main{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:16px 18px;background:radial-gradient(130% 150% at 0% 0%,#ffffff 0%,#f1f5f9 55%,#eef2f7 100%)} /* logo */ .rex-logo{display:flex;align-items:center;gap:11px;font-weight:800;font-size:1.18em;color:#0f172a;white-space:nowrap;letter-spacing:-.01em} .rex-logo span{ display:inline-flex;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#334155,#475569); color:#fff;align-items:center;justify-content:center;font-size:.95em; box-shadow:0 8px 20px -6px rgba(51,65,85,.7); transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease; } .rex-logo:hover span{transform:rotate(-8deg) scale(1.08);box-shadow:0 12px 26px -6px rgba(71,85,105,.85)} /* wyszukiwarka */ .rex-search{flex:1 1 260px;display:flex;min-width:200px;border:1.5px solid #cbd5e1;border-radius:14px;overflow:hidden;background:#fff;transition:border-color .3s ease,box-shadow .3s ease} .rex-search:focus-within{border-color:#334155;box-shadow:0 0 0 4px rgba(51,65,85,.15)} .rex-search input{flex:1;border:0;padding:11px 14px;outline:none;font-size:.9em;min-width:0;background:transparent} .rex-search button,.rex-search .rex-search-btn{ border:0;padding:0 20px;background:linear-gradient(135deg,#334155,#475569);color:#fff;cursor:pointer;font-weight:700; display:inline-flex;align-items:center;position:relative;overflow:hidden; transition:filter .3s ease,box-shadow .3s ease,transform .2s ease; } .rex-search button::after,.rex-search .rex-search-btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .55s ease} .rex-search button:hover,.rex-search .rex-search-btn:hover{filter:brightness(1.08);box-shadow:0 10px 24px -8px rgba(51,65,85,.9)} .rex-search button:hover::after,.rex-search .rex-search-btn:hover::after{left:120%} .rex-search button:active,.rex-search .rex-search-btn:active{transform:translateY(1px)} /* ===== Ikony i koszyk ===== */ .rex-icons{display:flex;align-items:center;gap:8px} .rex-icon-item{display:inline-flex;align-items:center;max-width:100%;border-radius:12px;transition:background .25s ease,transform .25s ease,box-shadow .25s ease} .rex-icon-item:hover{background:#f1f5f9;transform:translateY(-2px);box-shadow:0 10px 20px -10px rgba(51,65,85,.6)} .rex-icon-item img{max-height:22px} /* koszyk */ .rex-header #hotengine-cart_menu,.rex-header #menu_c{display:inline-block;border:0;margin:0;padding:0;background:transparent} .rex-header #menu_c .headm,.rex-header #menu_c .footm{display:none} .rex-header #menu_c .contentm,.rex-header #menu_c .contentm .contentm_i{margin:0;padding:0;display:inline-block} .rex-header #cart{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1.5px solid #cbd5e1;border-radius:12px;padding:5px 10px;background:#fff;transition:border-color .25s ease,box-shadow .25s ease} .rex-header #cart:hover{border-color:#334155;box-shadow:0 10px 22px -10px rgba(51,65,85,.7)} .rex-header #cart table{width:auto;margin:0} .rex-header #cart td{white-space:nowrap;vertical-align:middle;padding:0 3px} .rex-header #cart .hotengine-shop-cart-total,.rex-header #cart .hotengine-shop-cart-menu-spacer{display:none} .rex-header #cart .hotengine-shop-product-price_val{font-size:.9em;font-weight:700;color:#0f172a} .rex-header #cart .cart_menu_img{display:inline-block;width:22px;height:22px;background-color:#334155;-webkit-mask-size:contain;mask-size:contain} .rex-header #cart > a{order:-1;margin-right:2px} :lang(pl) .hotengine-shop-cart-message-empty-cart::after{content:"Pusto"} /* ===== Menu ===== */ .rex-nav{display:flex;flex-wrap:wrap;gap:4px;padding:10px 12px;background:linear-gradient(180deg,#ffffff,#f8fafc);border-top:1px solid #e2e8f0} .rex-nav a{padding:9px 14px;border-radius:10px;color:#475569;font-size:.88em;font-weight:600;position:relative;transition:background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease} .rex-nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,#334155,#475569);transform:scaleX(0);transform-origin:left;transition:transform .3s ease} .rex-nav a:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#0f172a;transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(51,65,85,.7)} .rex-nav a:hover::after{transform:scaleX(1)} /* ===== Responsywność ===== */ @media(max-width:760px){ .rex-header,.rex-header *{box-sizing:border-box} .rex-header,.rex-top,.rex-main,.rex-nav{width:100%;max-width:100%} .rex-top{justify-content:center;text-align:center} .rex-main{flex-direction:column;align-items:stretch;padding:14px 12px} .rex-search{flex:1 1 auto;width:100%;max-width:100%;min-width:0} .rex-search input{width:0;min-width:0} .rex-search button,.rex-search .rex-search-btn{padding:0 14px;flex:0 0 auto} .rex-logo,.rex-icons{justify-content:center} .rex-icons{flex-wrap:wrap;width:100%} .rex-icon-item{min-width:0;max-width:100%} .rex-nav{justify-content:center} } /* ===== Dostępność: wyłączamy animacje na życzenie systemu ===== */ @media(prefers-reduced-motion:reduce){ .rex-header *,.rex-header *::before,.rex-header *::after{animation:none!important;transition:none!important} }

HTML nagłówka — kod do wstawienia

Ten kod wstaw w Blok/Menu z pozycją Header. Ikony ulubionych i koszyka będą działać, jak w żywym przykładzie powyżej.

<div class="rex-header"> <div class="rex-top"> <div class="rex-top-links"> <a href="/pl/?about_us">O nas</a> <a href="/pl/delivery_and_payments.htm">Dostawa i płatność</a> <a href="/pl/shop_sale.htm">Promocje</a> <a href="/pl/contacts.htm">Kontakt</a> </div> <div class="rex-top-contacts"> <a href="tel:+380000000000">+38 (000) 000-00-00</a> <a href="/pl/admin/">Konto</a> </div> </div> <div class="rex-main"> <a class="rex-logo" href="/pl/"><span>B</span> BooStore Shop</a> <form class="rex-search" method="get" action="/pl/shop/"> <input type="text" name="search" placeholder="Szukaj produktów..."> <button type="submit">Szukaj</button> </form> <div class="rex-icons"> <span class="rex-icon-item">{HOTENGINE-SC:favorites}</span> <span class="rex-icon-item">{HOTENGINE-SC:shop_cart_menu}</span> </div> </div> <nav class="rex-nav"> <a href="/pl/pers_shop/">Katalog</a> <a href="/pl/shop_new_goods.htm">Nowości</a> <a href="/pl/shop_sale.htm">Rabaty</a> <a href="/pl/shop_bestsellers.htm">Bestsellery</a> <a href="/pl/blog/sitecreate_pl/">Blog</a> </nav> </div>
Jak to zrobiono: trzy rzędy na flex, jasny górny wiersz z animowanym podkreśleniem linków, logo-plakietka z efektem przy najechaniu, wyszukiwarka z podświetleniem fokusu, gradientowy przycisk z błyskiem przy najechaniu, ikony z podniesieniem i podświetleniem, koszyk-„pigułka” z ikoną po lewej, menu z gradientowym tłem i animowaną linią. Na mobile (≤760px) bloki przebudowują się w kolumnę — robi to jeden media query. Paleta jest surowa, chłodna niebiesko-szara (slate); kolory łatwo zmienić: zastąp #334155 i #475569 własnymi akcentami.

❓ Częste pytania o personalizację designu

Odpowiedzi na popularne pytania o tworzenie unikalnego designu strony i sklepu internetowego na BooStore.

Czy na BooStore można stworzyć całkowicie unikalny design, a nie wybierać gotowy szablon?

Tak. Strona na BooStore to elastyczna struktura, w którą blokami wstawia się treść i funkcje. Wygląd w pełni sterowany jest przez CSS, a do bloków można dodawać własny HTML, CSS i JavaScript. Gotowy szablon to tylko wygodny punkt startowy, który można zmienić nie do poznania albo wcale nie używać.

Czym jest nagłówek strony z punktu widzenia platformy?

Nagłówek to zwykły Blok/Menu z pozycją Header. Wewnątrz znajduje się kod HTML nagłówka, podzielony na sekcje (w szablonie Universal MobiFive Flex — trzy sekcje, każda z trzech bloków). Możesz edytować zarówno układ, jak i style. Demo takiego szablonu: templatedemo437544.boostore.pro/pl/.

Jak zastąpić plik stylu szablonu własnym?

Otwórz Edytor designu → zakładkę „CSS style”. Tam jest pole na CSS i możliwość wysłania kopii zapasowej stylu na e-mail (archiwum z style.css). Pobierz plik, edytuj lokalnie i wklej wynik z powrotem w pole — strona od razu zastosuje nowy styl.

Jakie style ładują się domyślnie i jak je nadpisać?

Najpierw podłączają się style bazowe: css_hotengine_require_system.css (jądro), css_hotengine_require_language_XX.css (tłumaczenia), css_hotengine_cart_table_mobile.css (koszyk na mobile), a także style kart produktów i formularzy. Na nich nakłada się styl szablonu. Nadpisać je można na dwa sposoby: dopisać własne selektory w zakładce „CSS style” albo wstawić tam styl szablonu i edytować go bezpośrednio.

Czy można dodać do strony własne skrypty i style?

Tak. W edytorze bloku jest checkbox „JavaScript / CSS style”. W trybie JavaScript Twój kod zapisuje się w osobnym pliku JS i podłącza ze zwykłym ładowaniem, async lub defer. W trybie CSS — w osobnym pliku CSS. Tak dodajesz własne skrypty i style bez edycji jądra i z optymalizowanym ładowaniem.

Jak wgrać własne logo, tło lub obraz?

Przez sekcję „Moje pliki” (Panel administracyjny → Moje pliki). Wgraj plik (można kilka naraz), w razie potrzeby ustaw folder, szerokość, format (WebP/JPG/PNG) i jakość. Następnie skopiuj ścieżkę kliknięciem i użyj jej w CSS lub w atrybucie src. Pliki przechowywane są w upload/catalog/{ID_strony}/files/.

Czym są shortcody i gdzie je stosować?

Shortcode to krótki kod typu {HOTENGINE-SC:shop_cart_menu}, który system zamienia na rzeczywiste dane: ID strony, cenę produktu, koszyk, menu, kontakty, dane użytkownika itd. Wstawiać je można do bloków HTML, na strony i do e-maili. W przykładach tego artykułu zapisane są z kursywą w środku, aby wyświetlać się jako tekst. Pełna dokumentacja — w bazie wiedzy, dział ShortCode.

Jak wyświetlić zestaw produktów w dowolnym miejscu strony?

Użyj generatora widgetu z produktami. Zbiera on kod typu [MENU:shop_products_slider:...] z dziesiątkami parametrów: kategoria, producent, rabaty, nowości, konkretne ID, zakres ceny, sortowanie, przycisk do koszyka, porównanie, ocena, karuzela, przewijanie z autodoładowaniem i mozaika. Przykłady wszystkich wariantów — na stronie „Widget z produktami”.

Czy są gotowe bloki i style, aby nie tworzyć układu od zera?

Tak. W bibliotece bloków zebrano dziesiątki gotowych responsywnych sekcji: nagłówki, sekcje split, kontakty, social media, zalety i ikony SVG. Kolor sterowany jest zmiennymi CSS, dlatego blok łatwo przemalować pod swój brand. Dodatkowo są widgety HTML (akordeon, zakładki, opinie, oddzwonienie, spoiler).

Czy można wygenerować design za pomocą AI?

Tak. Zainstaluj szablon jako podstawę, przez inspektor stylów weź fragment CSS i kod potrzebnego bloku, dodaj do zadania link do boostore.pro/llms.txt (to gotowa instrukcja platformy z blokami bazowymi i shortcodami) i wyślij specyfikację AI. Otrzymany CSS wklej w Edytor designu → „CSS style” i zapisz.

Czy szybkość strony nie ucierpi przez personalizację?

Nie, jeśli pracować standardowymi narzędziami. CSS zbiera się w jeden buforowany plik, skrypty podłączają się z async/defer lub tylko w razie potrzeby, obrazy automatycznie konwertują się do WebP i ładują leniwie. Sklepy na BooStore stabilnie otrzymują PageSpeed 99–100.

Czy można ustawić różny design dla różnych działów lub kategorii?

Tak. Bloki i menu mają reguły wyświetlania według typu strony (główna, sklep, blog, aktualności, wyszukiwanie), konkretnej strony, języka, urządzenia i query string. To wrapper funkcyjny, który pozwala dla osobnego działu, a nawet kategorii wyświetlać własne bloki i wygląd.

Czy do unikalnego designu potrzebne jest programowanie?

Nie. Większość zadań rozwiązuje się przez edytor designu, gotowe szablony, bibliotekę bloków i widgety. Jeśli potrzebny niestandardowy kod — można wstawić własny CSS lub JavaScript, a także wygenerować styl za pomocą AI. Programowanie potrzebne jest tylko do naprawdę złożonych scenariuszy.

Czym BooStore różni się od Tilda, Wix i WordPress pod względem personalizacji designu?

BooStore to e-commerce SaaS: strona budowana jest z bloków, wygląd w pełni sterowany jest przez CSS, a do bloków można wstawiać własny HTML, CSS i JavaScript. W odróżnieniu od Tilda i Wix nie ma ograniczeń kreatora na kod, a w odróżnieniu od WordPress nie potrzeba wtyczek, hostingu i ciągłych aktualizacji. Przy tym szybkość i SEO są zoptymalizowane od razu.

Czy można stworzyć i zapisać własny unikalny szablon?

Tak. Dopracowujesz nagłówek, stopkę, bloki i CSS, a następnie zapisujesz wynik. Styl można wyeksportować (kopia zapasowa style.css na e-mail) i użyć jako podstawy. Gotowe szablony są w katalogu templates.boostore.pro, a swój design w pełni kontrolujesz w edytorze.

Czy można podłączyć własną czcionkę?

Tak. Czcionkę zaleca się podłączać przez @import w CSS — na przykład z Google Fonts. Jeśli potrzebnej czcionki nie ma w Google Fonts, wgraj pliki czcionki przez „Moje pliki”, podłącz je regułą @font-face w „CSS style” i zastosuj do potrzebnych elementów. Tak ustawiasz unikalną typografię.

Jak wstawić gotowy blok z biblioteki na stronę główną?

Otwórz templates_visual_blocks.html, wybierz blok, kliknij „Pokaż kod”, skopiuj i wklej w edytorze HTML potrzebnej strony (np. głównej) lub w Bloku/Menu. Następnie zmień zmienne CSS, tekst i ikony. Podłączenie stylu odbywa się przez @import bezpośrednio w kodzie bloku.

Czy można wystylizować kartę produktu całkowicie po swojemu?

Tak. W ustawieniach sklepu ustawia się pozycję głównych bloków karty (tytuł, obraz, opis, oferta/promocja), można rozbić kartę na dwa bloki, wskazać pozycję zakładek i włączyć akordeon. A wygląd dopracowuje się własnymi regułami CSS po stałych klasach, np. .hotengine-shop-product-list-block.

Czy moje zmiany designu zachowają się przy aktualizacjach platformy?

Tak. Personalizacja robiona jest przez bloki, menu, style CSS, widgety i „Moje pliki”, a nie przez edycję jądra. Wbudowane klasy i ID nie zmieniają się przy aktualizacjach, dlatego Twój design pozostaje nienaruszony.

Jak poznać klasę lub ID elementu, który trzeba zmienić?

Otwórz stronę, naciśnij F12 i prawym przyciskiem na elemencie wybierz „Zbadaj”. Skopiuj jego klasę lub ID i użyj w „CSS style”. #hotengine-wrapper ma też dynamiczne klasy z ID strony lub kategorii (hotengine-wrapper-pageid-…, hotengine-wrapper-catid-…).

Jak otworzyć internetowy sklep obuwniczy szybko i łatwo — poradnik krok po kroku 2026
Strukturyzowane dane Schema.org dla produktów — pełny przewodnik z przykładami
Jak uruchomić stronę rezerwacyjną i system zapisów online: pełny przewodnik po tworzeniu i konfiguracji