Files
domokits/local/modules/Slide/Hook/FrontHook.php
2019-11-21 12:25:31 +01:00

124 lines
3.4 KiB
PHP

<?php
/*************************************************************************************/
/* This file is part of the Thelia package. */
/* */
/* Copyright (c) OpenStudio */
/* email : dev@thelia.net */
/* web : http://www.thelia.net */
/* */
/* For the full copyright and license information, please view the LICENSE.txt */
/* file that was distributed with this source code. */
/*************************************************************************************/
namespace Slide\Hook;
use Thelia\Core\Event\Hook\HookRenderEvent;
use Thelia\Core\Hook\BaseHook;
/**
* Class FrontHook
* @package Slide\Hook
* @author Julien Chanséaume <jchanseaume@openstudio.fr>
*/
class FrontHook extends BaseHook
{
public function onMainContentTop(HookRenderEvent $event)
{
$view = $this->getView();
if ($this->isAcceptedView($view)) {
if($view!=="index"){
$content = $this->render(
'main-content-top.html',
[
"ref" => $view,
"ref_id" => $this->getRequest()->get(
sprintf("%s_id", $view)
),
]
);
}
else {
$content = $this->render(
'main-content-top.html',
[
"ref" => 'folder',
"ref_id" => '1',
]
);
}
if (!empty($content)) {
$event->add($content);
}
}
}
protected function isAcceptedView($view)
{
$acceptedViews = [
'category',
'product',
'folder',
'content',
'brand',
'index'
];
return in_array($view, $acceptedViews);
}
public function onMainJavascriptInitialization (HookRenderEvent $event)
{
$view = $this->getView();
if ($this->isAcceptedView($view)) {
$content = $this->render(
'main-javascript-initialization.html'
);
if (!empty($content)) {
$event->add($content);
}
}
}
public function onMainStylesheet (HookRenderEvent $event)
{
$view = $this->getView();
if ($this->isAcceptedView($view)) {
$content = $this->render(
'main-stylesheet.html'
);
if (!empty($content)) {
$event->add($content);
}
}
}
public function onMainAfterJavascriptInclude (HookRenderEvent $event)
{
$view = $this->getView();
if ($this->isAcceptedView($view)) {
$content = $this->render(
'main-after-javascript-include.html'
);
if (!empty($content)) {
$event->add($content);
}
}
}
}