Add view classes for articles, banners, languages, menu, newsletter, containers, shop categories, clients, payment methods, products, and search

- Created `Articles` class for rendering article views including full articles, miniature lists, and news sections.
- Added `Banners` class for handling banner displays.
- Introduced `Languages` class for rendering language options.
- Implemented `Menu` class for rendering page and menu structures.
- Developed `Newsletter` class for newsletter rendering.
- Created `Scontainers` class for rendering specific containers.
- Added `ShopCategory` class for managing shop category views and pagination.
- Implemented `ShopClient` class for client-related views including address management and login forms.
- Created `ShopPaymentMethod` class for displaying payment methods in the basket.
- Added `ShopProduct` class for generating product URLs.
- Introduced `ShopSearch` class for rendering a simple search form.
- Added `.htaccess` file in the plugins directory to enhance security by restricting access to sensitive files and directories.
This commit is contained in:
2026-02-21 23:00:54 +01:00
parent a605e0f4ad
commit fc45bbf20e
322 changed files with 35722 additions and 21849 deletions

View File

@@ -1,7 +1,7 @@
<div class="producer-list">
<? foreach ( $this -> producers as $producer ):?>
<div class="producer">
<a href="/producent/<?= \S::seo( $producer['name'] );?>">
<a href="/producent/<?= \Shared\Helpers\Helpers::seo( $producer['name'] );?>">
<? if ( file_exists( substr( $producer['img'], 1, strlen( $producer['img'] ) ) ) ):?>
<img src="<?= $producer['img'];?>" alt="<?= $producer['name'];?>">
<? endif;?>

View File

@@ -1,15 +1,15 @@
<? global $lang_id;?>
<div class="category-content">
<? if ( is_array( $this -> products ) ): foreach ( $this -> products as $product_id ):
echo \Tpl::view( 'shop-product/product-mini', [
'product' => $product = \shop\Product::getFromCache( $product_id, $lang_id )
echo \Shared\Tpl\Tpl::view( 'shop-product/product-mini', [
'product' => $product = (new \Domain\Product\ProductRepository($GLOBALS['mdb']))->findCached( $product_id, $lang_id )
] );
endforeach; endif;?>
</div>
<?= $this -> pager;?>
<?
if ( $this -> producer['languages'][$lang_id]['description'] ):
echo \Tpl::view( 'shop-producer/description', [
echo \Shared\Tpl\Tpl::view( 'shop-producer/description', [
'description' => $this -> producer['languages'][$lang_id]['description']
] );
endif;