<?php
namespace App\Controller;
use App\Model\Product;
use App\Model\ProductCategory;
use App\Providers\AreaBricks\BrickGroupsProvider;
// BELOW IS REQUIRED AS THE PHPDOC ABOVE THE ACTIONS USES @TEMPLATE
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Request;
use Twig\Markup;
class ContentController extends DefaultFrontendController
{
/**
* @Template
*
* Has AreaBlock
*/
public function defaultAction(Request $request)
{
return $this->data($request, [
'areaBlockSettings' => BrickGroupsProvider::defaultSettings()
]);
}
/**
* @Template
*
* Has AreaBlock
*/
public function superPageAction(Request $request)
{
// Load Category
$relatedCategoryObjectId = $this->getDocumentEditable('relation', 'productCategory')->getData()['id'] ?? false;
$relatedCategoryObject = $relatedCategoryObjectId ? ProductCategory::getById($relatedCategoryObjectId) : false;
$relatedCategoryProperties = $relatedCategoryObject ? ($relatedCategoryObject->formatPropertyItems() ?? false) : false;
$relatedProductObjectId = $this->getDocumentEditable('relation', 'product')->getData()['id'] ?? false;
$relatedProductObject = $relatedProductObjectId ? Product::getById($relatedProductObjectId) : false;
return $this->data($request, [
'areaBlockSettings' => BrickGroupsProvider::defaultSettings(),
'productCategory' => $relatedCategoryObject ?? false,
'productCategoryProperties' => $relatedCategoryProperties,
'product' => $relatedProductObject,
]);
}
/**
* @Template
*
* Has AreaBlock
*/
public function homeAction(Request $request)
{
return $this->data($request, [
'areaBlockSettings' => BrickGroupsProvider::defaultSettings()
]);
}
/**
* @Template
*
* Has AreaBlock
*/
public function contactAction(Request $request)
{
return $this->data($request, [
'areaBlockSettings' => BrickGroupsProvider::defaultSettings()
]);
}
/**
* @Template
*
* Has AreaBlock
*/
public function thanksAction(Request $request)
{
$first_name = $request->get('first_name');
return $this->data($request, [
'first_name' => $first_name ?? null,
'areaBlockSettings' => BrickGroupsProvider::defaultSettings()
]);
}
}