markocupic / contao-twig-assets
Load link- or script-assets to the document from inside your TWIG template.
Installs: 3 946
Dependents: 12
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Type:contao-bundle
Requires
- php: ^8.1
- contao/core-bundle: ^4.13 || ^5.0
- nyholm/append-query-string: ^1.0
Requires (Dev)
- contao/easy-coding-standard: ^3.0
- contao/manager-plugin: ^2.3.1
- contao/test-case: ^4.5
- phpunit/phpunit: ^9.3
- symfony/http-client: 5.4.*
- symfony/phpunit-bridge: ^5.4
README
Contao Twig Assets
Adding assets via the global array $GLOBALS
is no more possible when using TWIG templates.
This Bundle for the Contao CMS provides 5 TWIG functions to load assets from inside your TWIG template.
Usage
Each of these five functions take two parameters e.g. addJavascriptResource($resource_path, $position) The first parameter '$resource_path' is mandatory, while the second parameter '$position' is optional.
Default usage:
{# Inside your twig template: #}
{% do addJavascriptResource('bundles/contaofoobarplugin/js/my.js|static') %}
{# Same as $GLOBALS['TL_JAVASCRIPT'][] = 'bundles/contaofoobarplugin/js/my.js|static'; #}
Set a javascript resource at a fixed position or replacing it:
{# Inside your twig template: #}
{% do addJavascriptResource('bundles/contaofoobarplugin/js/my.js|static', 2) %}
{# Same as $GLOBALS['TL_JAVASCRIPT'][2] = 'bundles/contaofoobarplugin/js/my.js|static'; #}
Overview
{# Inside your twig template: #}
{% do addJavascriptResource('bundles/contaofoobarplugin/js/my.js|static') %}
{# Same as $GLOBALS['TL_JAVASCRIPT'][] = 'bundles/contaofoobarplugin/js/my.js|static'; #}
{% do addCssResource('bundles/contaofoobarplugin/css/style.css|static') %}
{# Same as $GLOBALS['TL_CSS'][] = 'bundles/contaofoobarplugin/css/style.css|static'; #}
{% do addHtmlToHead('<script src="bundles/contaofoobarplugin/script.js"></script>') %}
{# Same as $GLOBALS['TL_HEAD'][] = '<script src="bundles/contaofoobarplugin/script.js"></script>'; #}
{% do addHtmlToBody('<script src="bundles/contaofoobarplugin/scripts.js"></script>') %}
{# Same as $GLOBALS['TL_BODY'][] = '<script src="bundles/contaofoobarplugin/script.js"></script>'; #}
{% do addMootoolsResource('<script src="bundles/myextension/moo_scripts.js"></script>') %}
{# Same as $GLOBALS['TL_MOOTOOLS'][] = '<script src="bundles/contaofoobarplugin/moo_script.js"></script>'; #}
File make time
Use the third paramter (boolean true) to add the file make time of a script or css asset to ensure that clients always receive the latest version of the asset, when it changes.
{# Inside your twig template: #}
{% do addCssResource('bundles/foobar/css/my.css',null,true) %}
{# --> bundles/foobar/css/my.css?_ver=1709332057 #}
{% do addJavascriptResource('bundles/contaofoobarplugin/js/my.js',null,true) %}
{# --> bundles/contaofoobarplugin/js/my.js?_ver=1709332057 #}