Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Slim Framework Smarty View

This is a Slim Framework view helper built on top of the Smarty templating component. You can use this component to create and render templates in your Slim Framework application.

Install

Via Composer

$ composer require maps82/smarty-view

Requires Slim Framework 3.

Usage

// Create Slim app$app = new \Slim\App();
// Fetch DI Container$container = $app->getContainer();
// Register Smarty View helper$container['view'] = function ($c) {
$view = new \Slim\Views\Smarty('path/to/templates', [
'compile' => 'path/to/compile',
'config' => 'path/to/config', // optional'cache' => 'path/to/cache', // optional - omit this to disable caching'debug' => false
]);
// Instantiate and add Slim specific extension$view->addExtension(newSlim\Views\SmartyExtension(
$c['router'],
$c['request']->getUri()
));
return$view;
};
// Define named route$app->get('/hello/{name}', function ($request, $response, $args) {
return$this->view->render($response, 'profile.tpl', [
'name' => $args['name']
]);
})->setName('profile');
// Run app$app->run();

Custom template functions

This component exposes a custom path_for function to your Smarty templates. You can use this function to generate complete URLs to any Slim application named route. This is an example Smarty template:

{extends "layout.tpl"}
{block name="body"}
<h1>User List</h1>
<ul>
<li><a href="{path_for name="profile" options=["name" => "josh"]}">Josh</a></li>
</ul>
{/block}

Credits

This component is strongly based on the offical slim/twig-view

License

The MIT License (MIT). Please see License File for more information.

About

Slim Framework view layer built on top of Smarty

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages