在OctoberCMS Javascript文件中访问Twig变量

时间:2018-09-04 10:52:17

标签: javascript twig octobercms

我正在使用基于Laravel Framework的OctoberCMS,并且在html文件中设置了变量 {% set name = 'Juan' %} 我试图通过设置这样的变量在我的Javascript文件中访问它 var myName = '{{ name }}' 而且我提醒了变量myName,但不幸的是它没有显示变量myName,而是显示了整个字符串,像这样{{name}}

2 个答案:

答案 0 :(得分:0)

好的javascript文件不支持twig模板引擎,因此无法理解 什么是
{{name}} 变量。

但是您可以在此处进行解决

在.htm树枝文件中,您可以跨度打印变量并将其显示为:无

<span id="name" style="display: none;">{{ name }}</span>

然后像这样将其调用到您的js文件中

var name = document.getElementById("name").innerHTML

或者如果您包含jquery,则可以这样做

var name = $("#name").val()

我希望有帮助

答案 1 :(得分:0)

问题是您正在javascript中定义整个内容

因此,模板引擎不知道您想要什么,我建议只是像这样在HTML中定义变量

所以以前您是这样做的。

{% set name = 'Juan' %}

因此,为了通过此variable to js,您可以为简化起见执行以下操作。 [它不专业,我不建议您使用命名空间/对象并传递它]

<script>var myName = '{{ name }}';</script>
  

确保此行未写在js文件中,而必须写在.htm layout/templatemarkup section之一中。

然后在js中的整个项目中都可以访问它。

alert(myName);

如果看起来与您无关,那么我们建议您发布laravel代码,该代码可以执行类似的操作,以便我们提供更好的工作相关解决方案。

如果有任何疑问,请发表评论。