Otevře se na nové kartě

Bricks Builder

Bricks Builder je jedním z hlavních nástrojů, které používám při tvorbě vlastních webů na WordPressu, kde je potřeba větší kontrola, lepší struktura a vyšší výkon, než obvykle nabízí běžný způsob práce s page buildery.

Bricks používám jako vizuální vývojovou vrstvu nad WordPressem, nikoli jako náhradu za porozumění samotnému WordPressu.

Umožňuje mi spojit vizuální vývoj s vlastními typy obsahu, Advanced Custom Fields, dynamickými daty, logikou dotazů, PHP, CSS, JavaScriptem a WordPress API a přitom zachovat výsledný web dlouhodobě udržitelný.

Bricks Builder pro mě není primárně o přetahování prvků na stránku.

Jeho skutečná hodnota spočívá v možnosti vizuálně vytvářet strukturované systémy na WordPressu, aniž bych se vzdal přístupu k celému vývojovému stacku v pozadí.

Jak Bricks Builder používám

Bricks používám například pro:

  • kompletní vývoj webů na WordPressu,
  • dynamické šablony,
  • archivy vlastních typů obsahu,
  • šablony jednotlivých typů obsahu,
  • opakovaně použitelné komponenty,
  • design systémy,
  • rozhraní řízená dotazy,
  • obsah založený na ACF,
  • podmíněné vykreslování,
  • rozvržení pro WooCommerce,
  • responzivní design,
  • vlastní CSS a JavaScript,
  • integraci s vlastní funkcionalitou v PHP.

Cílem obvykle není vytvářet izolované jednotlivé stránky.

Preferuji budování opakovaně použitelných systémů, ve kterých obsah WordPressu a strukturovaná data řídí výsledné vykreslení webu.

Bricks jako vývojová vrstva

Vizuální builder může začít být problematický ve chvíli, kdy je každá stránka navrhována samostatně.

Vzniká tím duplicita a budoucí změny se zbytečně prodražují.

Bricks používám jinak.

Typická architektura může vypadat například takto:

WordPress
↓
Vlastní typy obsahu + taxonomie
↓
ACF / metadata WordPressu
↓
Šablony Bricks
↓
Dynamická data + Query Loops
↓
Vykreslený web

Obsah existuje nezávisle na své prezentaci.

Jedna šablona může vykreslovat stovky položek bez nutnosti ručně vytvářet stovky samostatných stránek.

To je mnohem bližší vývoji aplikací než tradičnímu vizuálnímu skládání stránek.

Dynamická data

Dynamická data jsou jednou z nejdůležitějších částí mého workflow v Bricks.

Namísto ručního zadávání obsahu do každého prvku propojuji prvky se strukturovanými daty WordPressu.

Například:

Nadpis
→ název příspěvku

Obrázek
→ náhledový obrázek

Specifikace
→ pole ACF

Kategorie
→ termín taxonomie

Díky tomu mohou design a obsahový model zůstat oddělené.

Editoři pracují se smysluplně pojmenovanými poli.

Šablony určují, jak se tato pole zobrazí.

Vlastní typy obsahu

Bricks běžně používám společně s vlastními typy obsahu.

Namísto toho, aby byl každý druh obsahu reprezentován jako obecná stránka WordPressu, mohu modelovat skutečné entity.

Může jít například o:

  • projekty,
  • technologie,
  • aplikace,
  • produkty,
  • lokality,
  • vozidla,
  • dokumentaci.

Každý typ obsahu může mít vlastní strukturovaná pole, taxonomie a šablony.

Bricks pak nad touto strukturou zajišťuje prezentační vrstvu.

Advanced Custom Fields

Advanced Custom Fields je jednou z technologií, které s Bricks často kombinuji.

ACF mi umožňuje definovat strukturovaná data, například:

  • specifikace,
  • URL adresy,
  • stavy,
  • obrázky,
  • vztahy mezi položkami,
  • opakovaná pole,
  • konfigurační hodnoty.

Bricks pak může tyto hodnoty dynamicky vykreslovat.

Vzniká tak workflow, ve kterém editor mění obsah prostřednictvím strukturovaných polí namísto úprav samotného rozvržení stránky.

Tím se výrazně snižuje riziko nechtěného narušení designu.

Query Loops

Query Loops patří mezi funkce, díky kterým je Bricks obzvlášť užitečný pro dynamické projekty na WordPressu.

Používám je pro načítání a zobrazování kolekcí, například:

  • příspěvků,
  • vlastních typů obsahu,
  • termínů taxonomií,
  • uživatelů,
  • souvisejícího obsahu,
  • filtrovaných záznamů.

Rozvržení se vytvoří jednou a následně se opakuje pro každý výsledek.

Například:

Dotaz
→ všechny technologie v kategorii „Mobile Development“

Šablona
→ karta technologie

Výstup
→ dynamická mřížka technologií

Pokud se ve WordPressu přidá další technologie, rozhraní se může automaticky aktualizovat.

Není nutná žádná ruční úprava stránky.

Rozhraní řízená dotazy

Query Loops jsou užitečné pro mnohem více než jen archivy blogu.

Databázově řízená rozvržení používám například pro:

  • adresáře,
  • portfolia,
  • katalogy,
  • indexy technologií,
  • filtrované kolekce obsahu,
  • sekce souvisejícího obsahu.

Díky tomu WordPress sám řídí, který obsah se zobrazí, namísto pevného zakódování jednotlivých položek přímo do designu.

Vnořený dynamický obsah

Složitější rozhraní mohou obsahovat více úrovní strukturovaného obsahu.

Například:

Kategorie technologie
↓
Technologie
↓
Související projekty

Při tvorbě těchto struktur věnuji pozornost kontextu dotazů a vyhýbám se zbytečným vnořeným dotazům.

I vizuálně jednoduchá stránka může na backendu provádět náročné operace, pokud jsou její dotazy navrženy špatně.

Šablony

Šablony Bricks používám proto, abych se vyhnul duplicitě rozvržení.

Šablony mohou definovat například:

  • hlavičky,
  • paty stránek,
  • jednotlivé příspěvky,
  • vlastní typy obsahu,
  • archivy,
  • opakovaně použitelné sekce.

Web se tak stává systémem opakovaně použitelných prezentačních pravidel namísto sbírky samostatně navržených stránek.

To je důležité zejména s růstem webu.

Podmínky šablon

Šablony lze přiřazovat podle podmínek.

Například:

Šablona technologie
→ všechny příspěvky typu Technology

Šablona projektu
→ všechny příspěvky typu Project

To umožňuje udržovat konzistentní rozvržení pro celý typ obsahu.

Aktualizace jedné šablony může změnit všechny odpovídající stránky.

To je výrazně udržitelnější než upravovat každou položku samostatně.

Opakovaně použitelné komponenty

U opakujících se vzorů rozhraní používám znovupoužitelné komponenty namísto opakovaného vytváření stejné struktury.

Může jít například o:

  • karty,
  • tlačítka,
  • informační panely,
  • call-to-action sekce,
  • navigační prvky,
  • hlavičky obsahu.

Komponenta poskytuje sdílenou vizuální a strukturální definici, přičemž jednotlivé instance mohou obsahovat odlišný obsah.

Tím vzniká konzistentnější design systém a globální změny jsou výrazně jednodušší.

Design systémy

Web v Bricks preferuji vnímat jako design systém.

Namísto přiřazování nahodilých stylů každému prvku definuji opakovaně použitelná pravidla pro:

  • typografii,
  • rozestupy,
  • barvy,
  • kontejnery,
  • tlačítka,
  • karty,
  • formuláře.

Cílem je konzistence.

Pokud má každá stránka mírně odlišné hodnoty rozestupů a typografie, dlouhodobá údržba se zbytečně komplikuje.

Globální třídy

Globální CSS třídy jsou důležitou součástí mého workflow v Bricks.

Používám je k vytváření opakovaně použitelných stylových vzorů.

Například:

.card
.button-primary
.section-header
.content-grid

Namísto opakovaného nastavování stejného stylu na mnoha samostatných prvcích může design systém používat jednu sdílenou třídu.

Také to výrazně usnadňuje a zabezpečuje budoucí globální změny.

CSS

Neomezuji se pouze na vizuální ovládací prvky.

Když je vlastní CSS vhodnějším řešením, používám CSS přímo.

Je to užitečné například pro:

  • pokročilé selektory,
  • responzivní chování,
  • vlastní animace,
  • okrajové případy rozvržení,
  • opravy specifické pro konkrétní prohlížeče.

Porozumění CSS zůstává důležité i při práci ve vizuálním vývojovém prostředí.

Builder má vývoj urychlovat, nikoli nahrazovat znalost webové platformy.

CSS proměnné

CSS proměnné používám tam, kde dávají smysl pro opakovaně použitelné hodnoty designu, například:

  • barvy,
  • rozestupy,
  • typografii,
  • rozměry rozvržení.

Pomáhá to vytvářet soudržný design systém.

Například:

:root {
    --space-section: 5rem;
    --radius-card: 1rem;
}

Jedna sdílená proměnná pak může řídit mnoho částí webu.

Změna systému je díky tomu mnohem jednodušší než úprava desítek jednotlivých prvků.

Responzivní design

Rozvržení v Bricks vytvářím tak, aby fungovala napříč různými velikostmi obrazovek, namísto toho, abych nejdříve navrhl desktopovou stránku a následně ji zachraňoval nouzovými opravami pro mobil.

Zohledňuji například:

  • šířku obsahu,
  • flexibilní mřížky,
  • škálování typografie,
  • navigaci,
  • dotykové ovládání,
  • velikosti obrázků,
  • rozestupy.

Mobilní design není pouze zmenšené desktopové rozvržení.

Někdy je potřeba změnit i hierarchii nebo způsob interakce.

Flexbox a Grid

Bricks zpřístupňuje moderní techniky CSS rozvržení přímo.

Používám:

  • Flexbox,
  • CSS Grid

podle struktury, kterou vytvářím.

Flexbox se dobře hodí pro jednorozměrná rozvržení a zarovnávání komponent.

Grid je užitečný tam, kde má obsah výraznější dvourozměrnou strukturu.

Preferuji nativní systémy CSS rozvržení namísto spoléhání se na velké množství pozičních triků.

Podmínky prvků

Podmíněné vykreslování je užitečné tehdy, když má rozhraní zobrazovat odlišný obsah podle stavu aplikace.

Podmínky používám například pro:

  • uživatelské role,
  • hodnoty obsahu,
  • data aktuálního příspěvku,
  • rozdíly podle zařízení nebo kontextu,
  • vlastní aplikační pravidla.

To může snížit potřebu vytvářet zbytečné duplicitní šablony.

Podmínky prezentace však nelze zaměňovat se zabezpečením.

Skrytí prvku nenahrazuje autorizaci na straně serveru.

Interakce

Bricks může zajišťovat také chování rozhraní řízené událostmi.

Interakce používám selektivně například pro:

  • otevírání prvků rozhraní,
  • přepínání stavů,
  • zobrazování kontextových informací,
  • chování související se scrollováním.

U jednoduchých interakcí může použití vlastního systému builderu udržet implementaci čistší než načítání další JavaScriptové knihovny.

Pro složitější aplikační chování stále preferuji explicitní JavaScript.

JavaScript

Když web vyžaduje funkcionalitu nad rámec vestavěných interakcí, používám vlastní JavaScript.

Může jít například o:

  • API požadavky,
  • vlastní chování uživatelského rozhraní,
  • výpočty,
  • nástroje aplikačního typu,
  • browser API.

Vlastní skripty udržuji zaměřené na konkrétní úkol a vyhýbám se načítání velkých knihoven tam, kde stačí malá nativní implementace.

PHP

Bricks zůstává součástí WordPressu, takže PHP je stále důležitou součástí mého workflow.

Vlastní PHP používám podle potřeby například pro:

  • vlastní dotazy,
  • shortcody,
  • filtry,
  • hooky,
  • REST endpointy,
  • transformaci dat,
  • vlastní funkcionalitu.

Vizuální builder řeší prezentaci.

PHP řeší logiku, která správně patří na server.

WordPress hooky a filtry

Pro funkcionalitu, která potřebuje upravit chování WordPressu nebo Bricks, preferuji dokumentované hooky a filtry namísto úprav souborů pluginu.

Díky tomu vlastní úpravy přežijí aktualizace.

Zároveň zůstává logika specifická pro projekt oddělená od softwaru třetích stran.

WordPress REST API

Bricks může fungovat také jako frontend širší aplikační architektury postavené na WordPressu.

Vlastní funkcionalita může komunikovat prostřednictvím WordPress REST API.

Například:

Rozhraní v Bricks
↓
JavaScript
↓
WordPress REST API
↓
Aplikační logika v PHP
↓
databáze

To umožňuje vkládat do stránek WordPressu funkcionalitu aplikačního typu a současně využívat WordPress pro autentizaci, správu obsahu a administraci.

Formuláře

Formuláře vyžadují víc než jen vizuální stylování.

Zohledňuji například:

  • validaci,
  • ochranu proti spamu,
  • sanitizaci,
  • zpracování odeslání,
  • zpětnou vazbu při chybách,
  • stavy úspěšného odeslání.

Vizuálně vyladěný formulář, který přijímá neplatné nebo škodlivé vstupy, není hotová implementace.

Vyhledávání a filtrování

Dynamické weby často potřebují uživatelům umožnit orientaci ve větších kolekcích obsahu.

Vyhledávání a filtrování stavím na základě informační architektury webu.

Filtry mohou zahrnovat například:

  • kategorie,
  • taxonomie,
  • vlastní pole,
  • vyhledávací výrazy.

Cílem je, aby byl strukturovaný obsah skutečně dohledatelný, nikoli pouze uložený ve WordPressu.

WooCommerce

U e-commerce projektů lze Bricks použít k vytváření vlastních rozhraní WooCommerce.

Může jít například o rozvržení pro:

  • produktové stránky,
  • obchod,
  • košík,
  • pokladnu,
  • zákaznické sekce.

WooCommerce vnímám jako obchodní engine a Bricks jako prezentační vrstvu.

Funkčnost e-commerce musí zůstat spolehlivá i tehdy, když je vizuální design výrazně přizpůsoben.

Výkon

Jedním z důvodů, proč preferuji strukturovanější workflow v Bricks, je kontrola nad výkonem.

Sleduji například:

  • složitost DOM,
  • zbytečné wrappery,
  • velikosti obrázků,
  • skripty,
  • CSS,
  • databázové dotazy,
  • pluginy třetích stran.

I vizuálně jednoduchý web může mít špatný výkon, pokud je jeho implementace zbytečně těžkopádná.

Struktura DOM

Snažím se udržovat generovaný markup přiměřeně čistý.

Každý zbytečně vnořený kontejner zvyšuje složitost DOM.

Proto nevytvářím wrappery pouze proto, že je to uvnitř builderu pohodlné.

Struktura HTML by měla odpovídat skutečnému rozvržení a sémantice.

Sémantické HTML

Kde je to možné, používám odpovídající HTML elementy.

Například:

  • nadpisy pro hierarchii dokumentu,
  • navigační elementy pro navigaci,
  • tlačítka pro akce,
  • odkazy pro navigaci.

Vizuální vzhled neurčuje sémantický význam.

Správná sémantika zlepšuje:

  • přístupnost,
  • SEO,
  • udržovatelnost.

Přístupnost

Přístupnost zohledňuji už během vývoje, nikoli jako doplněk řešený až na konci pomocí pluginu.

Patří sem například:

  • hierarchie nadpisů,
  • ovládání klávesnicí,
  • popisky formulářových polí,
  • smysluplné texty odkazů,
  • alternativní texty,
  • stavy focusu,
  • kontrast,
  • sémantická struktura.

Vlastní interakce by neměly zhoršovat použitelnost webu s asistivními technologiemi.

Obrázky

Obrázky často představují jednu z největších výkonnostních zátěží webu.

Zohledňuji například:

  • vhodné rozměry,
  • moderní formáty,
  • responzivní obrázky,
  • lazy loading,
  • vyhýbání se zbytečně použitým souborům v plném rozlišení.

Page builder nedokáže vykompenzovat špatně řízenou strategii práce s médii.

WordPress pluginy

Preferuji udržovat pluginový stack pod kontrolou.

Plugin by měl řešit skutečný problém.

Vyhýbám se instalaci dalšího pluginu pro funkcionalitu, kterou lze čistě implementovat pomocí:

  • Bricks,
  • WordPress API,
  • malého množství PHP,
  • CSS,
  • JavaScriptu.

Každý plugin přidává další závislost, další životní cyklus aktualizací a další potenciální problém s kompatibilitou.

Zabezpečení

Bricks nemění základní bezpečnostní model WordPressu.

Vlastní funkcionalita stále vyžaduje:

  • validaci vstupů,
  • sanitizaci,
  • escapování výstupu,
  • kontrolu oprávnění,
  • ověření nonce tam, kde je vhodné,
  • bezpečnou autorizaci REST API.

Vizuální vývoj nikdy nemá být výmluvou pro obcházení běžných bezpečnostních postupů WordPressu.

Vlastní kód

Když přidávám vlastní kód, preferuji, aby byl organizovaný a dohledatelný.

Rozsáhlejší logika nepatří do náhodných úryvků kódu rozesetých po desítkách jednotlivých prvků.

Aplikační chování se snažím tam, kde je to praktické, centralizovat.

Budoucí ladění a údržba jsou díky tomu výrazně jednodušší.

Udržovatelnost

Jedním z mých hlavních cílů při tvorbě webů v Bricks je zajistit, aby bylo i později snadné pochopit, jak web funguje.

To znamená vyhýbat se zbytečné duplicitě.

Preferuji:

jeden obsahový model
jedna opakovaně použitelná šablona
jeden design systém

namísto:

mnoha samostatně upravovaných stránek

První přístup škáluje výrazně lépe.

Práce editorů

Dobře navržený web na WordPressu by neměl vyžadovat, aby editor obsahu rozuměl page builderu.

Kde je to možné, editoři pracují s:

  • názvy příspěvků,
  • textovými poli,
  • obrázky,
  • kategoriemi,
  • strukturovanými vlastními poli.

Bricks následně řídí, jak se tato data zobrazí.

Tím se chrání vizuální systém a současně se zjednodušuje správa obsahu.

ACF a Bricks společně

Jedna z mých preferovaných architektur WordPressu kombinuje Bricks s ACF.

Rozdělení odpovědností je přímočaré:

ACF
→ definuje obsahový model

WordPress
→ ukládá a spravuje obsah

Bricks
→ vykresluje rozhraní

Vzniká tak čisté oddělení dat a prezentace.

To je obzvlášť užitečné pro weby obsahující velké množství podobně strukturovaných položek.

Vlastní typy obsahu, ACF a Bricks

Typický strukturovaný projekt může vypadat například takto:

Vlastní typ obsahu: Technology

Pole:
- popis
- kategorie
- související technologie
- příklady projektů

Bricks:
- šablona jednotlivé technologie
- archiv
- dotaz na související obsah

Přidání další technologie se pak stává pouze operací s obsahem.

Design není potřeba znovu vytvářet.

Tento typ architektury preferuji u rozsáhlejších projektů na WordPressu.

SEO

Bricks mi poskytuje kontrolu nad výslednou strukturou stránky, ale SEO stále závisí na celkové implementaci.

Zohledňuji například:

  • sémantické nadpisy,
  • interní prolinkování,
  • strukturovaný obsah,
  • metadata,
  • výkon,
  • procházení webu roboty,
  • smysluplnou architekturu stránek.

Vizuální builder je pouze jednou částí SEO stacku.

Bricks běžně kombinuji s SEO nástroji pro WordPress a vlastním strukturovaným obsahem, namísto toho, abych očekával, že samotný builder vyřeší optimalizaci pro vyhledávače.

Strukturovaný obsah

Strukturovaný obsah je obzvlášť užitečný jak pro vyhledávače, tak pro strojově čitelné systémy.

Například stránka technologie by neměla být ručně navrženou sbírkou nesouvisejících textových polí.

Měla by reprezentovat konzistentní obsahovou entitu s:

  • názvem,
  • taxonomií,
  • vztahy,
  • strukturovanými poli,
  • předvídatelnou URL adresou.

Bricks může tato data vykreslit, aniž by narušil základní informační architekturu.

Nasazení

Weby vytvořené v Bricks vnímám jako softwarové projekty.

Před změnami v produkci zohledňuji například:

  • zálohy,
  • aktualizace pluginů,
  • aktualizace WordPressu,
  • cachování,
  • změny databáze,
  • kompatibilitu vlastního kódu.

Změny, které fungují uvnitř builderu, musí správně fungovat i v kompletním produkčním prostředí.

Aktualizace

Samotný Bricks se v čase vyvíjí.

Vyhýbám se zbytečné závislosti na křehkých workarounds tam, kde builder nebo WordPress nabízí podporovaný mechanismus.

Před významnějšími aktualizacemi zohledňuji kompatibilitu s:

  • vlastním kódem,
  • pluginy,
  • šablonami,
  • dynamickými daty.

Udržitelný projekt by měl být možné aktualizovat, aniž by se každá aktualizace proměnila v rekonstrukci celého webu.

Ladění

Když něco nefunguje správně, nevnímám Bricks jako černou skříňku.

Zkoumám systém pod ním.

Podle konkrétního problému to může zahrnovat:

  • vygenerované HTML,
  • CSS,
  • JavaScript,
  • dotazy WordPressu,
  • chyby PHP,
  • síťové požadavky,
  • výstup konzole prohlížeče.

Porozumění základním technologiím dělá vizuální vývoj výrazně spolehlivějším.

Bricks Builder v mém technologickém stacku

Bricks Builder běžně používám společně s:

  • WordPressem,
  • PHP,
  • Advanced Custom Fields,
  • vlastními typy obsahu,
  • vlastními taxonomiemi,
  • WordPress REST API,
  • WooCommerce,
  • HTML,
  • CSS,
  • JavaScriptem,
  • SQL.

Bricks zajišťuje vizuální a šablonovací vrstvu, zatímco širší stack WordPressu zajišťuje obsah, jeho perzistenci a aplikační logiku.

Proč používám Bricks Builder

Bricks používám proto, že mi poskytuje rychlost vizuálního vývoje, aniž by každý projekt na WordPressu nutil do čistě vizuálního workflow založeného na page builderu.

Rozvržení mohu vytvářet vizuálně a současně pracovat se skutečnými koncepty WordPressu, například:

  • dotazy,
  • typy obsahu,
  • taxonomie,
  • vlastní pole,
  • šablony,
  • PHP,
  • API.

Právě tato kombinace je pro mě důvodem, proč je Bricks užitečný.

Builder urychluje práci na prezentaci.

WordPress poskytuje systém pro správu obsahu.

ACF poskytuje strukturovaná data.

PHP a API zajišťují vlastní logiku.

Pokud zůstanou tyto vrstvy správně oddělené, Bricks se stává mnohem víc než jen page builderem.

Stává se efektivním frontendovým vývojovým prostředím pro strukturované weby na WordPressu.

Zpět na hlavní stránku