Files
marianek.pl/autoload/front/Controllers/SearchController.php
Jacek Pyziak fc45bbf20e 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.
2026-02-21 23:00:54 +01:00

50 lines
1.6 KiB
PHP

<?php
namespace front\Controllers;
class SearchController
{
public function searchResults()
{
global $lang_id;
$bs = \Shared\Helpers\Helpers::get( 'bs' );
$productRepo = new \Domain\Product\ProductRepository( $GLOBALS['mdb'] );
$results = $productRepo->searchProductsByName( \Shared\Helpers\Helpers::get( 'query' ), $lang_id, (int)$bs );
$out = \Shared\Tpl\Tpl::view( 'shop-search/products', [
'query' => \Shared\Helpers\Helpers::get( 'query' ),
'products' => $results['products']
] );
if ( $results['ls'] > 1 )
{
$tpl = new \Shared\Tpl\Tpl;
$tpl -> ls = $results['ls'];
$tpl -> bs = $bs ? $bs : 1;
$tpl -> link = 'wyszukiwarka/' . \Shared\Helpers\Helpers::get( 'query' );
$out .= $tpl -> render( 'site/pager' );
}
return $out;
}
public function searchProducts()
{
global $lang_id;
$products = [];
$productRepo = new \Domain\Product\ProductRepository( $GLOBALS['mdb'] );
$results = $productRepo->searchProductByNameAjax( \Shared\Helpers\Helpers::get( 'query' ), $lang_id );
if ( \Shared\Helpers\Helpers::is_array_fix( $results ) ) {
foreach ( $results as $row ) {
$products[] = \Shared\Tpl\Tpl::view( 'shop-search/product-search', [
'product' => $productRepo->findCached( $row['product_id'], $lang_id )
] );
}
}
echo json_encode( $products );
exit;
}
}