ver. 0.280: Articles frontend migration, class.Article removal, Settings facade cleanup

- Add 8 frontend methods to ArticleRepository (with Redis cache)
- Create front\Views\Articles (rendering + utility methods)
- Rewire front\view\Site::show() and front\controls\Site::route() to repo + Views
- Update 5 article templates to use \front\Views\Articles::
- Convert front\factory\Articles and front\view\Articles to facades
- Remove class.Article (entity + static methods migrated to repo + Views)
- Remove front\factory\Settings facade (already migrated)
- Fix: eliminate global $lang from articleNoindex(), inline page sort query
- Tests: 450 OK, 1431 assertions (+13 new)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-16 15:52:03 +01:00
parent c910982abf
commit 0402dbee76
35 changed files with 1070 additions and 642 deletions

View File

@@ -5,7 +5,7 @@
<? $article['language']['seo_link'] ? $url = $article['language']['seo_link'] : $url = 'a-' . $article['id'] . '-' . \S::seo( $article['language']['title'] );?>
<a href="/<?= $url;?>" title="<?= $article['language']['title'];?>" <? if ( $article['language']['noindex'] ):?>rel="nofollow"<? endif;?>>
<div class="blog-image">
<img src="<?= \front\factory\Articles::get_image( $article );?>" alt="<?= $article['language']['title'];?>">
<img src="<?= \front\Views\Articles::getImage( $article );?>" alt="<?= $article['language']['title'];?>">
<div class="date-add"><?= date( 'd.m.y', strtotime( $article['date_add'] ) );?></div>
</div>
<h3 class="article-title"><?= $article['language']['title'];?></h3>