wakers / cms-structure-module
Structure module of Wakers CMS 5
This package is auto-updated.
Last update: 2024-11-11 15:09:05 UTC
README
Modul umožňuje definovat datové struktury. Podle zvolených pravidel generuje editační formuláře. Na základě dalších pravidel předává data z formulářů do šablon.
Jak to funguje?
Viz video: Jak implementovat one-page web (na míru) za 15 minut.
Komponenty
Frontend\Printer
- Vypisuje data ze struktur.Frontend\RecipeSummaryModal
- Přehled všech definovaných předpisů struktur.Frontend\RecipeModal
- Vytváření a editace předpisů struktur.Frontend\RecipeRemoveModal
- Odstranění celého předpisu struktury.Frontend\RecipeSlugModal
- Vytváření, editace a přehled slugů (klíčů) u předpisu struktury.Frontend\RecipeSlugRemoveModal
- Odstranění slugu (klíče) z předpisu struktury.Frontend\VariableSummaryModal
- Přehled všech proměnných v předpisu struktury.Frontend\VariableModal
- Vytvoření a editace proměnné v předpisu struktury.Frontend\VariableRemoveModal
- Odstranění proměnné z předpisu struktury.Frontend\StructureModal
- Automaticky generovaný formulář pro přidávání a editaci hodnot struktury.Frontend\StructureRemoveModal
- Odstranění struktury.
Rozdělení struktur
- Statické jsou opakující se části webu - menu, hlavička, patička, atp.
- Dynamické se neopakují, jsou to například aktuality, články, atp.
Výpis struktur
Stuktury lze zařazovat i do kategorií. Pro výpis struktur existují 4 základní metody viz Wakers\StructureModule\Repository\PrinterRepository
.
Je vyloženě nutné se s metodami podrobně seznámit - je velmi důležité znát, jaké parametry přejímají a jak získávají data z databáze.
Metody pro výpis dle kategorií (categorySlugs)
findByCategorySlugs
findRecursiveByCategorySlugs
Metody pro výpis dle klíče předpisu (recipeSlugs)
findByRecipeSlugsAndPage
findRecursiveByRecipeSlugsAndPage
V šabloně lze použít
Zrychlený zápis, který zavolá příslušnou metodu, předá parametry a výsledné struktury vrátí
jako (flat / tree) array objektů typu Wakers\StructureModule\Entity\StructureResult
.
{* Rekurzivní výpis statických struktur dle recipeSlugs *} {control structurePrinter [ 'method' => 'findRecursiveByRecipeSlugsAndPage', 'params' => [ 'recipeSlugs' => [ 'staticke-menu' ], 'sort' => 'ASC', ], 'template' => 'static/navbar.latte' ]}
{* Výpis dynamických struktur dle kategorií (categorySlugs) *} {control structurePrinter [ 'method' => 'findByCategorySlugs', 'params' => [ 'categorySlugs' => [ 'aktuality' ], 'paginationLimit' => 1, 'sort' => 'DESC', 'filterByPagePublished' => TRUE ], 'template' => 'dynamic/homepageNews.latte' ]}
{* Výpis dynamických struktur dle recipeSlugs - svázaných s určitou page *} {control structurePrinter [ 'method' => 'findByRecipeSlugsAndPage', 'params' => [ 'recipeSlugs' => [ 'news' ], 'sort' => 'DESC', 'page' => $presenter->template->pageEntity, ], 'template' => 'dynamic/newsDetail.latte' ]}
Přidávání a editace struktur
Struktury se musejí nějakým způsobem vytvářet a editovat proto je v sandboxu předpřipraven soubor _buttons.latte, který obsahuje předdefinované bloky pro snazší použití.
- Vytvoření struktury
- Editace / odstranění struktury
- Přidání pod-stránky - někdy potřebné před vytvořením dynamické struktury.