*/ namespace BaseTemplate\Listener; use Symfony\Component\DependencyInjection\Container; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\KernelEvents; use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Template\Smarty\SmartyParser; use Thelia\Core\Template\TemplateDefinition; /** * Class TemplateListener * @author Manuel Raynaud */ class TemplateListener implements EventSubscriberInterface { /** @var SmartyParser */ public $parser; /** * @param SmartyParser $parser */ public function __construct(SmartyParser $parser) { $this->parser = $parser; } public function boot($event) { $this->parser->addTemplateDirectory( TemplateDefinition::FRONT_OFFICE, 'baseTemplate', THELIA_TEMPLATE_DIR . '/frontOffice/baseTemplate', '0' ); } /** * Returns an array of event names this subscriber wants to listen to. * * The array keys are event names and the value can be: * * * The method name to call (priority defaults to 0) * * An array composed of the method name to call and the priority * * An array of arrays composed of the method names to call and respective * priorities, or 0 if unset * * For instance: * * * array('eventName' => 'methodName') * * array('eventName' => array('methodName', $priority)) * * array('eventName' => array(array('methodName1', $priority), array('methodName2')) * * @return array The event names to listen to * * @api */ public static function getSubscribedEvents() { return array( KernelEvents::REQUEST => array('boot', 128) ); } }