Browse and render “static” Twig templates in a Symfony project. This bundle is a port of the TwigExpress standalone tool, and is intended for private front-end prototypes. You might like it if you’re a designer or front-end developer working with Symfony. Do not use this bundle or its routes in production!
- Gives access to the Twig templates in the
Resources/views/static
folder of a bundle, showing index pages for this folder and subfolders. (Note that the root folder can be changed for each bundle.) - Renders Twig templates, and reports Twig errors with an extract of the faulty template.
Important: this bundle’s controller will not be able to render templates that depend on data provided by other existing controllers. It’s intended for “static” prototypes which don’t depend on any data from databases or services.
Install with Composer in your Symfony project:
composer require kaliop/twig-express-bundle
Then you will need to register this bundle in app/AppKernel.php
. This may look like:
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
/* ... */
new Kaliop\TwigExpressBundle\KaliopTwigExpressBundle(),
];
}
}
Let’s say you have a bundle named MyAwesomeBundle
and which contains “static” Twig templates in MyAwesomeBundle/Resources/views/static
. By “static” Twig templates, we mean templates which do not depend on data provided by a controller. It could be simple HTML pages with {% include %}
tags and other native Twig features.
First you will need to activate the TwigExpress routes. Add this to your routing config (for example in routing_dev.yml
):
twig_express:
resource: "@KaliopTwigExpressBundle/Resources/config/routing.yml"
Then, in your main config (for example in config_dev.yml
), tell KaliopTwigExpressBundle that it can render templates from your bundle:
twig_express:
bundles:
- MyAwesomeBundle
Finally, navigate to http://[your-hostname]/static/
to explore your static views. You should be able to explore and render the Twig templates from MyAwesomeBundle/Resources/views/static
.
This bundle contains its own demo static
templates, which demonstrate a few added features. To activate it, add this import to your config_dev.yml
:
imports:
- resource: "@KaliopTwigExpressBundle/Resources/config/demo.yml"
For each bundle, instead of providing the bundle’s name only, you can change the URL slug (the part that identifies this bundle in the URL) and the path to the bundle’s “static” templates:
twig_express:
bundles:
# 'name' is required and must be a valid bundle name;
# 'root' defaults to 'Resources/views/static';
# 'slug' will use an automatic value if not defined.
- name: MyStaticBundle
root: Resources/views/static-html
slug: ohmy
- name: AwesomeStaticBundle
root: Resources/components
slug: awesome
If you would like to use a different URL base than /static/…
, use the twig_express.url_base
parameter:
parameters:
twig_express.url_base: something-different