Download the PHP package futureplc/twig-stack-extension without Composer
On this page you can find all versions of the php package futureplc/twig-stack-extension. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download futureplc/twig-stack-extension
More information about futureplc/twig-stack-extension
Files in futureplc/twig-stack-extension
Package twig-stack-extension
Short Description Adds the `push` and `stack` tags two twig for better asset management throughout templates.
License MIT
Homepage https://github.com/futureplc/twig-stack-extension
Informations about the package twig-stack-extension
Twig Stack Extension
This Twig extension allows you to "push" content from child views into a named "stack" which can be rendered in another view or layout. This is perfect for many scenarios, like pushing scripts or styles used by components.
This plugin is heavily inspired by filhocodes/twig-stack-extension and refactored to work with Twig ^3.9.0
.
Installation
You can install the package via Composer:
Setup in your project
First, add the extension to the Twig instance:
Next, we need to modify the output of the content rendered by Twig in order to ensure the stacks are injected into the right place properly.
One way this can be done is by using the custom Environment
class provided by the package.
If you don't want to override your Environment
, you can manually call the extension on the rendered output.
It's all set up and ready to be used.
Usage
In Twig templates, you will have three new tags to use, {% push %}
and {% pushonce %}
to push content to a named stack, and {% stack %}
to render the named stack.
Pushing to a stack
Wrap any content you want "pushed" to the stack each time this part of the Twig template is parsed.
Using {% push %}
will push the contents to the stack every time it is called.
If you want to push only the first time the code is referenced, for example, including a library needed for a component, you can use the {% pushonce %}
tag instead.
Rendering a stack
You can use the {% stack %}
tag to render the contents of the stack.
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Chris Powell
- Marcos SF Filho
- All Contributors
License
The MIT License (MIT). Please see License File for more information.