Files
pomysloweprezenty.pl/autoload/front/Controllers/ShopProducerController.php
Jacek Pyziak 3ecbe628dc Add view classes for articles, banners, languages, menu, newsletter, containers, shop categories, clients, payment methods, products, and search
- 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.
2026-02-21 23:00:15 +01:00

63 lines
1.5 KiB
PHP

<?php
namespace front\Controllers;
use Domain\Producer\ProducerRepository;
class ShopProducerController
{
private ProducerRepository $repository;
public function __construct( ProducerRepository $repository )
{
$this->repository = $repository;
}
public function products()
{
global $page, $lang_id;
$producerId = (int)\Shared\Helpers\Helpers::get( 'producer_id' );
$producer = $this->repository->findForFrontend( $producerId, $lang_id );
if ( !$producer )
return '';
$page['show_title'] = true;
$page['language']['title'] = $producer['name'];
$bs = (int)\Shared\Helpers\Helpers::get( 'bs' );
$results = $this->repository->producerProducts( $producer['id'], 12, $bs ?: 1 );
$pager = '';
if ( $results['ls'] > 1 )
{
$pager = \Shared\Tpl\Tpl::view( 'site/pager', [
'ls' => $results['ls'],
'bs' => $bs ?: 1,
'page' => $page,
'link' => 'producent/' . \Shared\Helpers\Helpers::seo( $producer['name'] )
] );
}
return \Shared\Tpl\Tpl::view( 'shop-producer/products', [
'producer' => $producer,
'products' => $results['products'],
'pager' => $pager
] );
}
public function list()
{
global $page;
$page['show_title'] = true;
$page['language']['title'] = 'Producenci';
$producers = $this->repository->allActiveProducers();
return \Shared\Tpl\Tpl::view( 'shop-producer/list', [
'producers' => $producers
] );
}
}