

Dodawanie bloków do strony głównej odbywa się poprzez interfejs graficzny. W interfejsie użytkownika przejdź do zakładki „Strona główna” —> „Kolejność bloków”, włącz potrzebne bloki i dostosuj ich kolejność.
Na wszystkich innych stronach można również dodawać bloki w następujący sposób:
Blok to duża, konfigurowalna sekcja kodu o rozmiarze pasującym do całej szerokości strony. Blok może zawierać elementy wewnątrz siebie, ale nie odwrotnie. Blok można dodać tylko do strony, która została wstępnie oczyszczona ze stylów. Podczas gdy elementy mogą być wstawiane, w tym na standardowej stronie z paskiem bocznym.
Aby dodać blok, utwórz nową stronę w backendzie i przełącz się w tryb edycji HTML:
Następnie, jeden raz na początku strony, musisz podłączyć plik z narzędziami:
<!-- Podłącza narzędzia --> {include "{$wa->site->themePath(vega2)}utils.html"}
Następnie, również raz na stronę, należy ustawić zmienną userCode na wartość true. Spowoduje to usunięcie domyślnych stylów strony. W przypadku dodawania bloków jest to obowiązkowe. Jeśli chcesz dodać element, możesz pominąć ten krok.
<!-- Usuwa standardowe style --> {$wa->globals("userCode", true)}
Następnie można dodać bloki w dowolnej ilości lub własny kod HTML.
Dodajmy blok do strony na przykładzie bloku „Baner”. Będzie to wymagało kodu Smarty, który można uzyskać na dwa sposoby:
Jak wygląda kod wynikowy? Najpierw tworzona jest tablica $props, która będzie opisywać wszystkie ustawienia i zawartość bloku. „Props” to skrót od properties, co oznacza „właściwości” lub „cechy”. Następnie wywoływany jest żądany blok, do którego przekazywana jest ta tablica.
Ostatecznie wszystko razem będzie wyglądać następująco:
<!-- Linia ta łączy narzędzia --> {include "{$wa->site->themePath(vega2)}utils.html"} <!-- Ta linia usuwa domyślne style --> {$wa->globals("userCode", true)} <!-- Ustawienia bloku „Baner” --> {$props = [ 'id' => '', 'no_margin' => '', 'color_scheme' => 'primary', 'image' => 'img/placeholders/1350x450.png', 'mobile_image' => 'img/placeholders/750x900.png', 'url' => '#' ]} <!-- Wywołanie bloku --> {call add_block block="banner" props=$props}
Aby pracować z blokami, przydatne może być utworzenie osobnej strony „wersja robocza”, aby dostosować ją za pomocą interfejsu graficznego szablonu. Następnie skopiować kod z tej strony i wkleić go w różnych częściach witryny. Jak to zrobić. Utwórz klon szablonu w backendzie. W aplikacji „Witryna” —> „Struktura” utwórz nową regułę pod adresem /generator/*. Po prawej stronie adresu URL wybierz aplikację „Witryna”. Wybierz wcześniej utworzony klon jako „Szablon projektu”.
Niektóre bloki używają wbudowanego zestawu ikon, ich ID można znaleźć na tej stronie.
Możesz używać własnych znaczników HTML między blokami.
{include "{$wa->site->themePath(vega2)}utils.html"}
{$wa->globals("userCode", true)}
...
<h1>Hello, world!</h1>
W ten sposób dodano nagłówek do strony. Jeśli chcesz wyśrodkować zawartość tak jak wszystkie inne bloki na stronie, możesz użyć elementu „Frame”:
{include "{$wa->site->themePath(vega2)}utils.html"}
{$wa->globals("userCode", true)}
...
<!-- Umieść kod wewnątrz zmiennej content -->
{capture assign="content"}
<h1>Hello, world!</h1>
{/capture}
<!-- Element „Frame” -->
{call add_element element="frame" props=[
'color_scheme' => 'primary',
'no_margin' => '',
'content' => $content
]}
Więcej informacji na temat tego elementu można znaleźć na tej stronie.
Elementy to małe, konfigurowalne sekcje kodu, które mogą być używane w dowolnym miejscu, w tym wewnątrz bloków.
{include "{$wa->site->themePath(vega2)}utils.html"}
{$wa->globals("userCode", true)}
<!-- Element „Wideo” -->
{$props = [
'template' => 'video-one',
'video_id' => 'HubpUg3hdgQ',
'text' => 'Lorem ipsum dolor',
'description' => '1:32',
'container' => '',
'gap' => '1',
'attributes' => '',
'classes' => ''
]}
{call add_element element="video/`$props.template`" props=$props}
Większość z nich zawiera opcjonalne właściwości class i attributes. Można ich użyć do dodania dodatkowych klas CSS i atrybutów HTML do głównego znacznika elementu. Poniżej znajduje się przykład ich użycia:
{include "{$wa->site->themePath(vega2)}utils.html"}
{$wa->globals("userCode", true)}
<!-- Element „Wideo” -->
{$props = [
'template' => 'video-one',
'video_id' => 'HubpUg3hdgQ',
'text' => 'Lorem ipsum dolor',
'description' => '1:32',
'container' => '',
'gap' => '1',
'attributes' => [
'id' => 'element',
'data-active' => '1'
],
'classes' => ['is-active', 'is-selected']
]}
{call add_element element="video/`$props.template`" props=$props}
Z elementów można złożyć swój własny blok:
{include "{$wa->site->themePath(vega2)}utils.html"}
{$wa->globals("userCode", true)}
...
<!-- Umieść elementy lub kod wewnątrz zmiennej content -->
{capture assign="content"}
<!-- Element «Badge» -->
{$props = [
'template' => 'badge-four',
'type' => '',
'size' => 'medium',
'text' => 'Bestseller',
'animation' => '1',
'gap' => '1'
]}
{call add_element element="badge/`$props.template`" props=$props}
<!-- Element «Title» -->
{$props = [
'text' => 'Lorem ipsum dolor sit amet consectetur.',
'size' => 'medium, H2',
'align' => 'center',
'animation' => '100',
'gap' => '1'
]}
{call add_element element="title" props=$props}
<!-- Element «Text» -->
{$props = [
'content' => '<p>Lorem ipsum dolor sit amet consectetur adipisicing elit Accusamus alias aliquid animi aut consequatur distinctio dolore ea eligendi est eum exercitationem.</p>',
'size' => 'medium',
'align' => 'center',
'width' => '800',
'animation' => '200',
'gap' => '1'
]}
{call add_element element="text" props=$props}
{/capture}
<!-- Przekaż zawartość do elementu «Frame» -->
{call add_element element="frame" props=[
'color_scheme' => 'secondary',
'no_margin' => '',
'content' => $content,
'attributes' => [
'style' => 'text-align: center'
]
]}
