- Created Articles.php for rendering article views including full articles, miniature lists, and news sections. - Added Banners.php for handling banner displays. - Introduced Languages.php for rendering language options. - Implemented Menu.php for dynamic menu rendering. - Developed Newsletter.php for newsletter view rendering. - Created Scontainers.php for rendering specific containers. - Added ShopCategory.php for category descriptions and product listings. - Introduced ShopClient.php for managing client-related views such as address editing and order history. - Implemented ShopPaymentMethod.php for displaying payment methods in the basket. - Created ShopProduct.php for generating product URLs. - Added ShopSearch.php for rendering a simple search form. - Added .htaccess file to enhance security by restricting access to sensitive files and directories.
67 lines
2.3 KiB
PHP
67 lines
2.3 KiB
PHP
<?php
|
|
namespace front\Views;
|
|
|
|
class ShopCategory
|
|
{
|
|
public static function categoryDescription($category): string
|
|
{
|
|
return \Shared\Tpl\Tpl::view('shop-category/category-description', [
|
|
'category' => $category,
|
|
]);
|
|
}
|
|
|
|
public static function categoryView($category, string $langId, int $currentPage = 1): string
|
|
{
|
|
global $settings, $page;
|
|
|
|
$categoryRepo = new \Domain\Category\CategoryRepository($GLOBALS['mdb']);
|
|
|
|
if (!$settings['infinitescroll']) {
|
|
$results = $categoryRepo->paginatedCategoryProducts(
|
|
(int)$category['id'],
|
|
(int)($category['sort_type'] ?? 0),
|
|
$langId,
|
|
$currentPage
|
|
);
|
|
|
|
$pager = '';
|
|
if ($results['ls'] > 1) {
|
|
$tpl = new \Shared\Tpl\Tpl;
|
|
$tpl->ls = $results['ls'];
|
|
$tpl->bs = $currentPage > 0 ? $currentPage : 1;
|
|
$tpl->page = $page;
|
|
$tpl->link = !empty($category['language']['seo_link'])
|
|
? $category['language']['seo_link']
|
|
: 'k-' . $category['id'] . '-' . \Shared\Helpers\Helpers::seo($category['language']['title'] ?? '');
|
|
$pager = $tpl->render('site/pager');
|
|
}
|
|
|
|
return \Shared\Tpl\Tpl::view('shop-category/category', [
|
|
'category' => $category,
|
|
'products' => $results['products'],
|
|
'pager' => $pager,
|
|
'category_description' => $currentPage <= 1,
|
|
'category_additional_text' => true,
|
|
]);
|
|
}
|
|
|
|
$productsCount = $categoryRepo->categoryProductsCount((int)$category['id'], $langId);
|
|
|
|
return \Shared\Tpl\Tpl::view('shop-category/category-infinitescroll', [
|
|
'category' => $category,
|
|
'products_count' => $productsCount,
|
|
'category_description' => $currentPage <= 1,
|
|
'category_additional_text' => true,
|
|
]);
|
|
}
|
|
|
|
public static function categories($categories, $currentCategory = 0, $level = 0): string
|
|
{
|
|
$tpl = new \Shared\Tpl\Tpl;
|
|
$tpl->level = $level;
|
|
$tpl->current_category = $currentCategory;
|
|
$tpl->categories = $categories;
|
|
return $tpl->render('shop-category/categories');
|
|
}
|
|
}
|