Example #1
0
 public function dispatch($request, $response, $args)
 {
     $event = $this->eventService->getLatestEvent();
     $filter = $this->contentService->getTwigFilter();
     $this->view->getEnvironment()->addFilter($filter);
     $this->view->render($response, 'home.twig', ['event' => $event]);
     return $response;
 }
Example #2
0
 public function dispatch($request, $response, $args)
 {
     $event = $this->eventService->getLatestEvent();
     $filter = $this->contentService->getTwigFilter();
     $this->view->getEnvironment()->addFilter($filter);
     $previousEvents = $this->eventService->getPastEvents();
     $resWithETag = $this->cache->withETag($response, $event->getMeetupID());
     $this->view->render($response, 'home.twig', ['event' => $event, 'previousEvents' => $previousEvents]);
     return $resWithETag;
 }
 public function register(Container $c)
 {
     $c['view'] = function ($c) {
         $view = new Twig(__DIR__ . '/../../templates/view', ['cache' => __DIR__ . '/../../var/cache', 'autoreload' => true, 'debug' => true]);
         $view->getEnvironment()->addGlobal('flash', $c['flash']);
         $view->getEnvironment()->addGlobal('session', $_SESSION);
         $view->getEnvironment()->addGlobal('current_uri', $c['request']->getUri()->getPath());
         $view->addExtension(new TwigExtension($c['router'], $c['request']->getUri()));
         $view->addExtension(new Twig_Extension_Debug());
         return $view;
     };
 }
Example #4
0
<?php

use Slim\App;
use Slim\Views\Twig;
require '../vendor/autoload.php';
$app = new App();
$view = new Twig('../resources/views');
$env = $view->getEnvironment();
$env->addGlobal('year', date('Y'));
$container = $app->getContainer();
$container->register($view);
// Routes
$app->get('/', function ($request, $response, $args) {
    return $this->view->render($response, 'index.html.twig', ['page_title' => 'Project Mercury']);
})->setName('index');
$app->run();
use Slim\Views\Twig;
use Slim\Flash\Messages;
use Slim\Views\TwigExtension;
// Get app container
$container = $app->getContainer();
// Register flash message on container
$container['flash'] = function () {
    return new Messages();
};
// Register twig view on container
$container['view'] = function ($container) {
    $settings = $container->get('settings')['renderer'];
    $view = new Twig($settings['template_path'], ['cache' => $settings['cache_path']]);
    $view->addExtension(new TwigExtension($container['router'], $container['request']->getUri()));
    $theme = $container->get('settings')['theme']['name'];
    $view->getEnvironment()->addGlobal('theme', $theme);
    if ($_SERVER['SERVER_PORT'] == '443') {
        $assetPath = 'https://' . $_SERVER['HTTP_HOST'];
    } else {
        $assetPath = 'http://' . $_SERVER['HTTP_HOST'];
    }
    $view->getEnvironment()->addGlobal('asset_path', $assetPath);
    if ($container['flash']->getMessages()) {
        $flash = ['message' => $container['flash']->getMessages()['message'][0], 'alert_type' => $container['flash']->getMessages()['alert_type'][0]];
        $view->getEnvironment()->addGlobal('flash', $flash);
    }
    return $view;
};
// Register controller on container
$container[Controller::class] = function ($container) {
    return new Controller($container);
Example #6
0
<?php

use Slim\Views\TwigExtension;
use Slim\Views\Twig;
use EchaleGas\Twig\Extension\ZendFormExtension;
use Zend\View\Renderer\PhpRenderer;
use Zend\Form\View\HelperConfig;
use Zend\View\HelperPluginManager;
use Psr\Log\LogLevel;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
$app->container->singleton('twig', function () {
    $viewTig = new Twig();
    $viewTig->parserOptions = ['charset' => 'utf-8', 'cache' => realpath('views/cache'), 'auto_reload' => true, 'strict_variables' => false, 'autoescape' => true];
    $viewTig->twigTemplateDirs = [realpath('views')];
    $viewTig->parserExtensions = [new TwigExtension()];
    $renderer = new PhpRenderer();
    $renderer->setHelperPluginManager(new HelperPluginManager(new HelperConfig()));
    $zendFormHelper = new ZendFormExtension($viewTig->getEnvironment(), $renderer);
    $viewTig->getEnvironment()->registerUndefinedFunctionCallback($zendFormHelper);
    return $viewTig;
});
$app->container->singleton('log', function () {
    $logger = new Logger('echale-gas-app');
    $logger->pushHandler(new StreamHandler('logs/app.log', LogLevel::DEBUG));
    return $logger;
});
$app->view($app->twig);