Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wakerscz/cms-structure-module
🚀 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.
https://github.com/wakerscz/cms-structure-module
Last synced: about 2 months ago
JSON representation
🚀 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.
- Host: GitHub
- URL: https://github.com/wakerscz/cms-structure-module
- Owner: wakerscz
- License: mit
- Created: 2018-12-06T04:38:28.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-08-11T00:55:39.000Z (over 5 years ago)
- Last Synced: 2024-05-03T04:45:18.238Z (8 months ago)
- Language: PHP
- Homepage:
- Size: 99.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Structure Module
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](http://www.github.com/wakerscz/cms-sandbox#o-projektu).## Komponenty
1. `Frontend\Printer` - Vypisuje data ze struktur.
1. `Frontend\RecipeSummaryModal` - Přehled všech definovaných předpisů struktur.
1. `Frontend\RecipeModal` - Vytváření a editace předpisů struktur.
1. `Frontend\RecipeRemoveModal` - Odstranění celého předpisu struktury.
1. `Frontend\RecipeSlugModal` - Vytváření, editace a přehled slugů (klíčů) u předpisu struktury.
1. `Frontend\RecipeSlugRemoveModal` - Odstranění slugu (klíče) z předpisu struktury.
1. `Frontend\VariableSummaryModal` - Přehled všech proměnných v předpisu struktury.
1. `Frontend\VariableModal` - Vytvoření a editace proměnné v předpisu struktury.
1. `Frontend\VariableRemoveModal` - Odstranění proměnné z předpisu struktury.
1. `Frontend\StructureModal` - Automaticky generovaný formulář pro přidávání a editaci hodnot struktury.
1. `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)
1. `findByCategorySlugs`
1. `findRecursiveByCategorySlugs`### Metody pro výpis dle klíče předpisu (recipeSlugs)
1. `findByRecipeSlugsAndPage`
1. `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`.```latte
{* Rekurzivní výpis statických struktur dle recipeSlugs *}{control structurePrinter [
'method' => 'findRecursiveByRecipeSlugsAndPage',
'params' => [
'recipeSlugs' => [
'staticke-menu'
],
'sort' => 'ASC',],
'template' => 'static/navbar.latte'
]}
``````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'
]}
``````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](https://github.com/wakerscz/cms-sandbox/blob/master/app/template/structure/_buttons.latte),
který obsahuje předdefinované bloky pro snazší použití.- [Vytvoření struktury](https://github.com/wakerscz/cms-sandbox/blob/master/app/template/page/%40layout.latte#L20-L23)
- [Editace / odstranění struktury](https://github.com/wakerscz/cms-sandbox/blob/master/app/template/structure/dynamic/newsDetail.latte#L13-L18)
- [Přidání pod-stránky](https://github.com/wakerscz/cms-sandbox/blob/master/app/template/structure/dynamic/homepageNews.latte#L10-L14) - někdy potřebné před vytvořením dynamické struktury.