2022-12-11 13:55:49 +05:00
< ? php
ini_set ( 'display_errors' , 0 );
2023-01-07 18:55:55 +05:00
$smarty -> caching = true ;
$smarty -> cache_lifetime = 2592000 ; // 86400 - сутки, 2592000 - месяц
function delhtml ( $text ) { // ФУНКЦИЯ очистки кода
$old1 = array ( " .html " ); #Ищем вредное ">",, "<"
$new1 = array ( " " ); #Меняем на полезное">", , "<"
$text = str_replace ( $old1 , $new1 , $text ); #Собсно сама замена =)
return $text ;
}
2022-12-11 13:55:49 +05:00
2023-01-07 18:55:55 +05:00
$period = delhtml ( $_GET [ 'id' ]);
$pieces = explode ( " - " , $period );
$pieces [ 0 ] = ( $pieces [ 0 ] ) ? $pieces [ 0 ] : 0 ; //категория
$page = ( $pieces [ 1 ] ) ? $pieces [ 1 ] : 0 ; // текущая страница
2023-01-02 21:33:36 +05:00
2023-01-07 18:55:55 +05:00
$categoryInfo = \DB :: getAll ( " SELECT * FROM `tovar_category` WHERE `id`=? LIMIT 1 " , $pieces [ 0 ]);
$smarty -> assign ( 'page_info' , $categoryInfo ); //получаем инфо о категории
$childrenCategory = \DB :: getAll ( " SELECT `id`, `title` FROM `tovar_category` WHERE `status` = 1 AND `category` = ? ORDER BY `title` " , $pieces [ 0 ] );
$smarty -> assign ( 'list' , $childrenCategory ); //получаем дочерние категории
2023-01-02 21:33:36 +05:00
2023-01-07 18:55:55 +05:00
/* ----------------------------------------------------------------------
19.09 . 2022
Узнаем обложку раздела
---------------------------------------------------------------------- */
2023-01-02 21:33:36 +05:00
2023-01-07 18:55:55 +05:00
$mainImg = \DB :: getValue ( " SELECT `filename` FROM `tovar_category_img` WHERE `tovar_category_id`=? " , $pieces [ 0 ]);
$smarty -> assign ( 'oblozhka' , $mainImg );
2022-12-11 13:55:49 +05:00
2023-01-07 18:55:55 +05:00
/* ----------------------------------------------------------------------
02.01 . 2023
Получаем случайную обложку категории
---------------------------------------------------------------------- */
2022-12-17 18:15:09 +05:00
2023-01-07 18:55:55 +05:00
if ( $pieces [ 0 ] ) $catImg = \DB :: getValue ( " SELECT `filename` FROM `tovar_category_img` WHERE `tovar_category_id`=? ORDER BY RANDOM() LIMIT 1 " , $pieces [ 0 ]);
$smarty -> assign ( 'catImg' , $catImg );
2022-12-17 18:15:09 +05:00
2023-01-07 18:55:55 +05:00
$kol = 40 ; //количество записей для вывода
$art = ( $page * $kol ) - $kol ; // определяем, с какой записи нам выводить
2022-12-17 18:15:09 +05:00
2023-01-07 18:55:55 +05:00
$total = \DB :: getValue ( " SELECT COUNT(*) FROM `tovar` WHERE `category` = ? AND `status`=1 " , $pieces [ 0 ] );
2022-12-17 18:15:09 +05:00
2023-01-07 18:55:55 +05:00
$str_pag = ceil ( $total / $kol );
2022-12-17 18:15:09 +05:00
2023-01-07 18:55:55 +05:00
$childrenTovar = \DB :: getAll ( " SELECT `id`, `title` FROM `tovar` WHERE `category`=? AND `status`=1 ORDER BY `title` LIMIT $art , $kol " , $pieces [ 0 ]);
2023-01-02 21:33:36 +05:00
for ( $i = 0 ; $i < count ( $childrenTovar ); $i ++ ){
$childrenTovar [ $i ][ 'cena' ] = \DB :: getValue ( " SELECT `cena` FROM `tovar_price_history` WHERE `tovar_id`=? ORDER BY `t` DESC LIMIT 1 " , $childrenTovar [ $i ][ 'id' ]);
$childrenTovar [ $i ][ 'img' ] = \DB :: getValue ( " SELECT `filename` FROM `tovar_img` WHERE `tovar_id`=? " , $childrenTovar [ $i ][ 'id' ]);
}
2022-12-17 18:15:09 +05:00
$smarty -> assign ( 'list2' , $childrenTovar ); //получаем дочерние категории
2022-12-11 13:55:49 +05:00
/* ----------------------------------------------------------------------
2023-01-07 18:55:55 +05:00
03.01 . 2023
Хлебные крошки
2022-12-11 13:55:49 +05:00
---------------------------------------------------------------------- */
2022-12-17 18:15:09 +05:00
2023-01-07 18:55:55 +05:00
$smarty -> assign ( 'Breadcrumb' , \core :: getBreadcrumb ( 'tovar_category' , $categoryInfo [ 0 ][ 'category' ] ) );
2023-01-02 21:33:36 +05:00
/* ----------------------------------------------------------------------
2023-01-07 18:55:55 +05:00
03.01 . 2023
Пагинатор
2023-01-02 21:33:36 +05:00
---------------------------------------------------------------------- */
2023-01-07 18:55:55 +05:00
$paginator = '<nav aria-label="123" style="margin-top: 40px; margin-bottom: 40px;"><ul class="pagination">' ;
for ( $i = 1 ; $i <= $str_pag ; $i ++ ){
if ( $i == $page )
$paginator .= " <li class='page-item text-center'><a href='/tovar_cat/ " . $pieces [ 0 ] . " - " . $i . " .html' class='page-link'><b> " . $i . " </b></a></li> " ;
else
$paginator .= " <li class='page-item text-center'><a href='/tovar_cat/ " . $pieces [ 0 ] . " - " . $i . " .html' class='page-link'> " . $i . " </a></li> " ;
}
$paginator .= '</ul></nav>' ;
$smarty -> assign ( 'paginator' , $paginator );
2022-12-11 13:55:49 +05:00
?>