<?php
namespace App\Network\Controller;
use App\Profile\Service\LoadMoreService;
use Carbon\Carbon;
use Pimcore\Controller\FrontendController;
use Pimcore\Model\DataObject\Auction;
use Pimcore\Model\DataObject\Auctionlot;
use Pimcore\Model\DataObject\Banner;
use Pimcore\Model\DataObject\News;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
#[Route([
'name' => 'network_auction_',
'localizedPaths' => [
'en' => '/{_locale}/network/auction',
'de' => '/{_locale}/netzwerk/auktion',
'fr' => '/{_locale}/reseau/encheres',
],
])]
class NetworkAuctionController extends FrontendController
{
#[Route('/{id}/{slug}', name: 'detail')]
public function detail(Request $request, $id, $slug = ''): Response
{
$auction = Auction::getById($id);
$auctionHouse = $auction->getAuctionhouse();
$totalAuctionlots = Auctionlot::getList()
->filterByAuction($auction)
->getTotalCount();
$banner = Banner::getList()->setCondition('auctionhouse like :auctionhouseId', ['auctionhouseId' => '%,'.$auctionHouse->getId().',%']);
return $this->renderForm('network/auction/detail.html.twig', [
'banner' => $banner,
'auction' => $auction,
'totalAuctionlots' => $totalAuctionlots,
'user' => $this->getUser(),
'now' => new Carbon(),
]);
}
#[Route('/{id}/{slug}/news', name: 'news_frame')]
public function news(Request $request, $id, LoadMoreService $loadMoreService, $slug = ''): Response
{
$news = News::getList();
$news->addConditionParam('auctions LIKE :id', ['id' => '%'.$id.'%']);
$news->setOrderKey('date');
$news->setOrder('desc');
$context = $loadMoreService->generate(
$request,
'auction-news-list',
$news,
'network/auction/sections/auction_news_frame.html.twig',
[
// 'profile' => $profile,
'news' => $news,
], 0, 5, 5
);
return $this->renderForm(...$context);
}
}