# OAK Trutnov

- Odkaz: https://tomas-shejbal.cz/portfolio/oak-trutnov/
- Zveřejněno: 2025-10-22T15:47:30+02:00
- Autor: tom

Okresní agrární komora Trutnov potřebovala komplexní webové řešení, které by spojilo
dva samostatné projekty - web organizace a web výstavy zemědělské techniky Podhory.
Výsledkem je moderní web s důrazem na přehlednou správu obsahu, pokročilou filtraci
a členskou sekci.

## Zadání

Klient požadoval vytvoření nového webu od začátku - od wireframů přes webdesign 
až po finální implementaci. Web měl sloužit jako:

 * **Informační portál** pro zemědělce z okresu Trutnov s aktuálními zprávami z 
   oboru
 * **Členská sekce** s přístupem k dokumentům a nabídkám pouze pro členy
 * **Prezentace výstavy Podhory** - každoroční přehlídky zemědělské techniky
 * **Katalog členských nabídek** - prezentace služeb a produktů členů komory

Klíčovým požadavkem byla **snadná správa obsahu** - komora pravidelně publikuje 
desítky zpráv měsíčně a potřebovala systém, který jim umožní efektivně organizovat
a filtrovat obsah podle kategorií.

## Řešení

### Struktura a Custom Post Types

Web je postaven na pěti hlavních custom post types, které tvoří páteř celého systému:

 * **Zprávy** - aktuality z českého, evropského a světového zemědělství
 * **Pozvánky** - informace o připravovaných akcích a seminářích
 * **Informace** - důležité materiály a dokumenty (členská sekce)
 * **Členské nabídky** - prezentace služeb a produktů od členů komory (členská sekce)
 * **Dokumenty** - statuty, zápisy a další interní dokumentace (členská sekce)

Každý custom post type má vlastní sadu ACF polí přizpůsobených specifickým potřebám
daného typu obsahu. To umožňuje strukturované ukládání dat a konzistentní zobrazování
napříč celým webem.

[[

[[

### AJAX filtrace a vyhledávání

Pro zprávy a pozvánky jsem implementoval pokročilý systém filtrace, který výrazně
zlepšuje uživatelskou zkušenost:

**Jak to funguje:**

 * Filtrační tlačítka se generují **automaticky podle použitých tagů** v publikovaných
   příspěvcích
 * Při kliknutí na filtr se obsah načte **bez přenačtení stránky** (AJAX)
 * URL se aktualizuje, takže uživatel může sdílet konkrétní filtrovaný výpis
 * Filtry lze kombinovat s **fulltextovým vyhledáváním**

Implementace vychází z [řešení AJAX filtrace pro Oxygen Repeater](https://tomas-shejbal.cz/wordpressito/ajax-filtrace-pro-oxygen-repeater-easy-posts-bez-prenacteni-stranky/),
které zachovává všechny výhody Oxygen renderingu bez nutnosti vytvářet paralelní
REST API endpoint.

**Příklad tagů u zpráv:**

 * Dotace a podpory
 * Veterinární opatření
 * Ochrana rostlin
 * Legislativa
 * Pracovní příležitosti

Systém automaticky zobrazí pouze ty tagy, které jsou aktuálně použité v publikovaných
příspěvcích, takže filtry zůstávají vždy relevantní.

### Členská sekce

Web obsahuje chráněnou členskou sekci (dostupnou jen po přihlášení) s těmito funkcemi:

 * **Standardní WordPress přihlášení** stylované v designu webu
 * **Soukromý obsah** viditelný pouze pro přihlášené členy
 * **Dokumenty** - statuty, zápisy ze shromáždění, důležité materiály
 * **Informace pro členy** - specifické zprávy a pokyny
 * **Členské nabídky** - prezentace služeb a produktů od členů komory

[[

Po přihlášení se členům v hlavním menu zobrazí dodatečné položky vedoucí do chráněných
sekcí.

### Katalog členských nabídek

Veřejná sekce "Nabídka našich členů a partnerů" slouží jako prezentační prostor 
pro členy komory. Každá nabídka obsahuje:

 * Název firmy/poskytovatele
 * Popis služeb nebo produktů
 * Kontaktní údaje
 * **Fulltextové vyhledávání** pro rychlé nalezení konkrétní nabídky

Tato sekce funguje jako benefit pro členy - dostanou prostor pro prezentaci svých
služeb na webu komory.

### Výstava Podhory

Samostatná sekce věnovaná každoroční výstavě zemědělské techniky obsahuje:

 * **Informace pro návštěvníky** - program, vstupné, doprava
 * **Informace pro vystavovatele** - podmínky účasti, registrace
 * **Fotogalerie** z minulých ročníků
 * **Historie výstavy**

[[

Web OAK Trutnov tak nahradil původní samostatný web výstavy a integroval ho do jednotného
systému.

## Technické řešení

### Oxygen Builder

Pro výstavbu webu jsem použil **Oxygen Builder**, který umožňuje:

 * Psaní čistého, optimalizovaného kódu
 * Přímou kontrolu nad HTML strukturou
 * Využití vlastního CSS a JavaScriptu tam, kde je potřeba
 * Rychlé načítání díky absenci zbytečného "balastu"

### Advanced Custom Fields

Rozsáhlé využití **ACF** pro strukturovaná data:

 * Vlastní pole pro každý typ příspěvku
 * Flexibilní layouts pro různé typy obsahu
 * Podmíněná logika pro zobrazování polí
 * Snadná správa obsahu v administraci

### Vlastní řešení

Pro některé specifické funkce jsem vytvořil vlastní řešení:

 * **AJAX filtrace** s automatickým generováním filtrů
 * **Členská sekce** s ochranou obsahu
 * **Vyhledávání** napříč různými typy obsahu
 * **Customizovaný WordPress login** v designu webu

## Výsledek

Za **měsíc a půl** (včetně wireframů a webdesignu) vznikl **komplexní web**, který:

 * Spojuje dva původně samostatné projekty (OAK + Podhory)
 * Nabízí **přehlednou správu obsahu**
 * Umožňuje **snadnou filtraci a vyhledávání** na stránkách jednotlivých příspěvků
 * Poskytuje **členskou sekci** s chráněným obsahem
 * Běží **svižně** a je připraven na další rozvoj

Klient získal systém, který mu umožňuje efektivně a přehledně spravovat velké množství
obsahu.

## Potřebuješ web pro organizaci nebo sdružení?

Rád ti pomůžu:

 * **Navrhnout** intuitivní strukturu obsahu
 * **Vytvořit** přehledný administrační systém
 * **Implementovat** pokročilou filtraci a vyhledávání
 * **Zajistit** členskou sekci s ochranou obsahu

Pojďme probrat, jak by mohl web lépe sloužit potřebám tvé organizace.
