Search code examples
grav

How can I pass dynamic variables to Scripts via Asset Manager


I want to add some script to Grav using some parameters.

{% do assets.addInlineJs('var imageurl = "'.{{ url('theme://images/logo.svg') }}.'";', 99) %}

This and some other things like

{% do assets.addInlineJs('var imageurl = "' . url("theme://images/logo.svg") . '";', 99) %}

do not work. What am I missing? I want to use an imagepath from the theme to pass to the script.


Solution

  • To concatenate strings in Twig, you need to use ~ not .

    {% do assets.addInlineJs('var imageurl = "' ~ url("theme://images/logo.svg") ~ '";', 99) %}
    

    Sample result:

    var imageurl = "/user/themes/my-theme/images/logo.svg";