custom/plugins/AppflixCustomerMarket/src/Storefront/Controller/AppflixAdController.php line 39
<?php declare(strict_types=1);
namespace Appflix\CustomerMarket\Storefront\Controller;
use Appflix\CustomerMarket\Storefront\Page\AppflixAd\AppflixAdPageLoader;
use Shopware\Core\Content\Seo\SeoUrlPlaceholderHandlerInterface;
use Shopware\Core\System\SalesChannel\SalesChannelContext;
use Shopware\Core\System\SystemConfig\SystemConfigService;
use Shopware\Storefront\Controller\StorefrontController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
#[Route(defaults: ['_routeScope' => ['storefront']])]
class AppflixAdController extends StorefrontController
{
public function __construct(
private readonly AppflixAdPageLoader $appflixAdPageLoader,
private readonly SeoUrlPlaceholderHandlerInterface $seoUrlPlaceholderHandler,
private readonly SystemConfigService $systemConfigService
)
{
}
#[Route(path: '/appflix-ad/{appflixAdId}', name: 'frontend.appflix-ad.detail.page', methods: ['GET'])]
public function index(SalesChannelContext $context, Request $request): Response
{
$page = $this->appflixAdPageLoader->load($request, $context);
// Fallback layout for non-assigned product layout
if (!$page->getCmsPage()) {
return $this->renderStorefront('@Storefront/appflix-customer-market/page/appflix-ad-detail/index.html.twig', [
'page' => $page
]);
}
return $this->renderStorefront('@Storefront/storefront/page/content/appflix-ad-detail.html.twig', [
'page' => $page
]);
}
}