dev-master
9999999-devTwig Extension for Theme
MIT
The Requires
- php >=5.3.3
- dflydev/theme 1.*@dev
- twig/twig ~1.9
twig extension theme
Wallogit.com
2017 © Pedro PelĂĄez
Twig Extension for Theme
A Theme extension for Twig., (*1)
Through Composer as dflydev/theme-twig-extension., (*2)
The following examples use the Symfony Routing implementation of
ResourceUrlGeneratorInterface., (*3)
<?php
use Dflydev\Theme\ResourceUrlGenerator\SymfonyRoutingResourceUrlGenerator;
use Dflydev\Twig\Extension\Theme\ThemeTwigExtension;
// Assumes $themeProvider, $pathMapper, $urlGenerator, and $twig
// are already created and ready to be used.
$resourceUrlGenerator = new SymfonyRoutingResourceUrlGenerator(
$themeProvider,
$pathMapper,
$urlGenerator
);
$themeTwigExtension = new ThemeTwigExtension(
$resourceUrlGenerator
);
$twig->addExtension($themeTwigExtension);
Once enabled, Theme resources can be referenced by:, (*4)
{{ theme_resource('css/main.css') }}
If css/main.css is accessible directly via the Theme instances docroot
(as determined by the PathMapperInterface) then a URL to the public
resource will be used., (*5)
If css/main.css is not accessible directly, the UrlGeneratorInterface
implementation will be used to generate a URL to the embedded Theme
controllers., (*6)
All implementations of ResourceUrlGeneratorInterface should follow the
pattern of:, (*7)
_dflydev_typed_theme_handler:
Expects three params, type, name, and the resource. Name can be
changed by calling setTypedRouteName()., (*8)
Example:, (*9)
<?php
$app->get('/_theme_typed/{type}/{name}/resources/{resource}', function($type, $name, $resource) use ($app) {
// do something to handle the theme request and return the
// contents of the theme resource manually.
})
->assert('name', '.+')
->assert('resource', '.+')
->bind('_dflydev_typed_theme_handler');
_dflydev_theme_handler:
Expects two params, name and the resource. Name can be changed by calling
setTypedRouteName()., (*10)
Example:, (*11)
<?php
$app->get('/_theme/{name}/resources/{resource}', function($name, $resource) use ($app) {
// do something to handle the theme request and return the
// contents of the theme resource manually.
})
->assert('name', '.+')
->assert('resource', '.+')
->bind('_dflydev_theme_handler');
MIT, see LICENSE., (*12)
If you have questions or want to help out, join us in the [#dflydev, 1] channel on irc.freenode.net., (*13)
irc://irc.freenode.net/#dflydev â©, (*14)
Twig Extension for Theme
MIT
twig extension theme