Preskočiť na obsah

Bloky Gutenberg

Tri bloky Gutenberg na vkladanie obchodných modulov. Každý blok má náhľad v editore (server-side render) a konfiguráciu v bočnom paneli.

  • WordPress 6.0 alebo novší
  • Blokový editor Gutenberg (nie klasický editor)
  • Aktívny príslušný modul v nastaveniach Polski for WooCommerce

Bloky nájdete v inserteri (tlačidlo +) v kategórii Polski for WooCommerce. Alebo vyhľadajte zadaním “Polski”.

Názov bloku: polski/ajax-search

Vyhľadávacie pole s AJAX návrhmi. Výsledky sa zobrazujú v dropdowne počas písania.

AtribútTypPredvolenePopis
placeholderstringSzukaj produktów…Zástupný text v poli
widthstring100%Šírka poľa
showIconbooltrueIkona lupy
showCategoryboolfalseDropdown filtrovania podľa kategórie
limitnumber8Limit návrhov
minCharsnumber3Min. znakov na vyhľadanie
stylestringdefaultŠtýl: default, rounded, flat

Bočný panel bloku obsahuje sekcie:

Nastavenia vyhľadávania:

  • Zástupný text (placeholder)
  • Minimálny počet znakov
  • Limit výsledkov
  • Filter kategórií (áno/nie)

Vzhľad:

  • Šírka poľa
  • Štýl (predvolený, zaoblený, plochý)
  • Ikona lupy (áno/nie)
  • Orámovanie (áno/nie)
  • Tieň (áno/nie)

Pokročilé:

  • Doplnkové CSS triedy
  • HTML anchor (kotva)

Príklad registrácie bloku (interná implementácia)

Section titled “Príklad registrácie bloku (interná implementácia)”
register_block_type('polski/ajax-search', [
'api_version' => 3,
'editor_script' => 'polski-blocks-editor',
'editor_style' => 'polski-blocks-editor-style',
'style' => 'polski-blocks-style',
'render_callback' => [AjaxSearchBlock::class, 'render'],
'attributes' => [
'placeholder' => [
'type' => 'string',
'default' => __('Szukaj produktów…', 'polski'),
],
'width' => [
'type' => 'string',
'default' => '100%',
],
'showIcon' => [
'type' => 'boolean',
'default' => true,
],
'showCategory' => [
'type' => 'boolean',
'default' => false,
],
'limit' => [
'type' => 'number',
'default' => 8,
],
],
]);
add_filter('polski/blocks/ajax_search/output', function (string $html, array $attributes): string {
// Modyfikacja HTML bloku
return $html;
}, 10, 2);

Názov bloku: polski/ajax-filters

AJAX filtre na filtrovanie produktov bez prenačítania stránky.

AtribútTypPredvolenePopis
filtersarray['category', 'price', 'stock']Aktívne filtre
stylestringexpandedŠtýl: expanded, compact, accordion
showCountbooltruePočítadlá produktov
showResetbooltrueTlačidlo resetovania
columnsnumber1Stĺpce filtrov
collapsiblebooltrueZbaliteľné sekcie

Výber filtrov:

  • Checkboxy pre každý typ filtra
  • Drag & drop usporiadanie poradia filtrov
  • Konfigurácia na filter (napr. cenové rozpätia)

Vzhľad:

  • Štýl zobrazenia (rozbalený, kompaktný, akordeón)
  • Počet stĺpcov
  • Počítadlá (áno/nie)
  • Tlačidlo resetovania (áno/nie)
  • Predvolene zbalené/rozbalené

Pokročilé:

  • Režim AJAX / GET fallback
  • Doplnkové CSS triedy

Blok automaticky rozpoznáva dostupné filtre na základe údajov produktov:

FilterTypPopis
categoryHierarchiaKategórie produktov
priceRange sliderCenové rozpätie
stockCheckboxStav zásob
saleCheckboxIba v akcii
brandZoznamVýrobca/značka
pa_*Zoznam/SwatchAtribúty produktov
ratingHviezdičkyHodnotenie zákazníkov
add_filter('polski/blocks/ajax_filters/output', function (string $html, array $attributes): string {
return $html;
}, 10, 2);

Najlepšie funguje v sidebare. V blokovej téme (FSE) ho pridajte do šablóny Archive: Product. V klasických témach použite vo widgetoch Sidebar obchodu.

Názov bloku: polski/product-slider

Karusel produktov s navigáciou šípkami a voliteľnými bodkami stránkovania.

AtribútTypPredvolenePopis
typestringlatestTyp: related, sale, featured, bestsellers, latest, category, ids
limitnumber8Limit produktov
columnsnumber4Stĺpce desktop
columnsTabletnumber2Stĺpce tablet
columnsMobilenumber1Stĺpce mobil
categorystringSlug kategórie
productIdsarray[]ID produktov
showArrowsbooltrueNavigačné šípky
showDotsboolfalseBodky stránkovania
autoplayboolfalseAutomatické posúvanie
autoplaySpeednumber5000Prestávka medzi slajdmi (ms)
gapstring16pxOdstup medzi kartami
titlestringNadpis
orderbystringdateTriedenie
orderstringDESCSmer

Zdroj produktov:

  • Typ slidera (dropdown s možnosťami)
  • Výber kategórie (pre type=category)
  • Výber produktov (pre type=ids) - vyhľadávač s automatickým dopĺňaním
  • Limit produktov
  • Triedenie

Zobrazenie:

  • Stĺpce (desktop / tablet / mobil)
  • Odstup (gap)
  • Šípky (áno/nie)
  • Bodky (áno/nie)
  • Nadpis

Animácia:

  • Autoplay (áno/nie)
  • Rýchlosť autoplay (slider 1000-10000 ms)
  • Pauza pri hover

Náhľad v editore zobrazuje skutočné produkty z databázy. Bez vyhovujúcich produktov blok zobrazí placeholder.

add_filter('polski/blocks/product_slider/output', function (string $html, array $attributes): string {
return $html;
}, 10, 2);
// Modyfikacja zapytania produktów
add_filter('polski/blocks/product_slider/query_args', function (array $args, array $attributes): array {
// Wyklucz produkty z kategorii "ukryte"
$args['tax_query'][] = [
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'ukryte',
'operator' => 'NOT IN',
];
return $args;
}, 10, 2);

Bloky plne podporujú blokové témy (FSE). Vkladajte ich v:

  • Šablónach stránok (Page Templates)
  • Šablónach archívov produktov
  • Častiach šablón (Template Parts) - hlavička, päta, sidebar
  • Vzoroch (Patterns)

CSS triedy podľa konvencie BEM. Bloky podporujú natívne nastavenia štýlov Gutenberg:

  • Farby (text, pozadie)
  • Typografia (veľkosť, hrúbka, rodina fontu)
  • Okraje a paddingy (spacing)
  • Orámovanie (border)

Bloky sa nezobrazujú v inserteri - uistite sa, že príslušný modul je aktívny v WooCommerce > Polski > Obchodné moduly. Bloky vyžadujú aktiváciu príslušného modulu.

Náhľad bloku je prázdny - skontrolujte, či má obchod produkty vyhovujúce vybranému typu. Prázdna databáza produktov nevygeneruje náhľad.

Bloky nefungujú v Elementore - tieto bloky sú určené pre editor Gutenberg. Pre Elementor použite shortcody alebo dedikované widgety Elementor (dostupné pre AJAX vyhľadávač).

Nahlasovanie problémov: github.com/wppoland/polski/issues

Táto stránka má výlučne informačný charakter a nepredstavuje právne poradenstvo. Pred nasadením sa poraďte s právnikom. Polski for WooCommerce je open source softvér (GPLv2) poskytovaný bez záruky.