<?php
namespace Neon\Configurator\Twig;
use Neon\Configurator\Services\ConfigurationLoader;
use Shopware\Core\Framework\DataAbstractionLayer\EntityRepository;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
use Shopware\Core\System\SystemConfig\SystemConfigService;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
class ConfigurationExtension extends AbstractExtension
{
private ConfigurationLoader $configurationLoader;
public function __construct($configurationLoader)
{
$this->configurationLoader = $configurationLoader;
}
public function getFunctions()
{
$functions = [
new TwigFunction('searchConfiguration', [$this, 'searchConfiguration'])
];
$csrfFunction = class_exists("Shopware\Storefront\Framework\Twig\Extension\CsrfFunctionExtension");
if (!$csrfFunction) {
$functions[] = new TwigFunction('sw_csrf', [$this, 'csrfDummy']);
}
return $functions;
}
public function searchConfiguration(string $productId, $context)
{
return $this->configurationLoader->loadFullConfigurationByProductId($productId, $context);
}
public function csrfDummy(string $id, $context)
{
return '';
}
}