ver. 0.286: Layouts, Menu, Pages frontend migration to Domain

- Add 6 frontend methods to LayoutsRepository (Redis cache, 3-level fallback)
- Add 6 frontend methods to PagesRepository (Redis cache, recursive pages)
- Create front\Views\Menu (clean VIEW replacing front\view\Menu)
- Delete front\factory\Layouts, Menu, Pages + front\view\Menu + dead submenu.php
- Fix null $lang_id TypeError in check_url_params() (remove string type hint + ?? '')
- Optimize Helpers::htacces() from 3 layout calls to 1
- Tests: 470 OK, 1484 assertions (+16 new)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-17 08:21:53 +01:00
parent 920e65abd5
commit 8162df7356
27 changed files with 697 additions and 413 deletions

View File

@@ -4,6 +4,30 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze.
---
## ver. 0.286 (2026-02-17) - Layouts, Menu, Pages frontend migration
- **Layouts (frontend)** — migracja na Domain
- NOWE METODY w `LayoutsRepository`: `categoryDefaultLayoutId()`, `getDefaultLayout()`, `getProductLayout()`, `getArticleLayout()`, `getCategoryLayout()`, `getActiveLayout()` — z Redis cache, 3-level fallback (product→category→default)
- USUNIETA: `front\factory\class.Layouts.php` — logika przeniesiona do `LayoutsRepository`
- UPDATE: `front\view\Site::show()` — przepiecie na `$layoutsRepo`
- UPDATE: `Shared\Helpers\Helpers::htacces()` — optymalizacja z 3 wywolan `category_default_layout()` do jednej zmiennej
- **Menu + Pages (frontend)** — migracja na Domain + Views
- NOWE METODY w `PagesRepository`: `frontPageDetails()`, `frontPageSort()`, `frontMainPageId()`, `frontLangUrl()`, `frontMenuDetails()`, `frontMenuPages()` — z Redis cache, rekurencja stron
- NOWY: `front\Views\Menu` — czysty VIEW (`pages()`, `menu()`)
- USUNIETA: `front\factory\class.Menu.php` — logika przeniesiona do `PagesRepository`
- USUNIETA: `front\factory\class.Pages.php` — logika przeniesiona do `PagesRepository`
- USUNIETA: `front\view\class.Menu.php` — zastapiona przez `front\Views\Menu`
- USUNIETA: `templates\menu\submenu.php` — martwy kod (wola nieistniejaca metode `Menu::submenu()`)
- UPDATE: `front\controls\Site::check_url_params()` — przepiecie na `$pagesRepo->frontPageDetails()`
- UPDATE: `index.php` — przepiecie na `$pagesRepo->frontPageDetails()`
- UPDATE: `templates/site/languages.php` — przepiecie na `$pagesRepo->frontLangUrl()`
- UPDATE: `templates/menu/menu.php`, `pages.php`, `main-menu.php` — przepiecie na `\front\Views\Menu::`
- FIX: `frontPageDetails()` — usuniety type hint `string` z `$langId` + cast `(string)` (null $lang_id przy wczesnym wywolaniu `check_url_params()`)
- FIX: `front\controls\class.Site.php` — dodano `$lang_id ?? ''` przy przekazywaniu do `frontPageDetails()`
- Testy: 470 OK, 1484 asercji (+16 testow: 8 LayoutsRepository frontend, 8 PagesRepository frontend)
---
## ver. 0.285 (2026-02-17) - Tpl namespace, CurlServer removal, thumb.php fix
- **Shared\Tpl\Tpl** — migracja silnika szablonow do namespace Shared
@@ -653,4 +677,4 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze.
- Metoda `clear_product_cache()` w klasie S
---
*Dokument aktualizowany: 2026-02-14*
*Dokument aktualizowany: 2026-02-17*