如何在 Prestashop 1.6 中将变量从 smarty 传递到 javascript

How to pass variable from smarty to javascript in Prestashop 1.6

我想将变量添加到 smarty 中,然后在 javascript 中读取值。在 header.tpl 我有:

function setVarHeaders() {
            varHeaders = 0;
            lang = "{$cart->id_lang}";
        }

        </script>
    </head> 

在我的 global.js 中:

$(document).ready(function(){   

    $('#HOOK_PAYMENT').each(function (index, element) {
        var html = '';

        html += '<div id="value">' + lang +'</div>';
        $(element).html(html);        
    }); 
});

问题出在哪里?感谢您的帮助。

正如我从可用代码中看到的那样,您没有调用 setVarHeaders 函数,因此永远不会设置变量。您可以在它定义的地方调用它:

        function setVarHeaders() {
            varHeaders = 0;
            lang = "{$cart->id_lang}";
        }

        setVarHeaders();

        </script>
    </head> 

或使用这些变量的地方:

$(document).ready(function(){   

    setVarHeaders();

    $('#HOOK_PAYMENT').each(function (index, element) {
        var html = '';

        html += '<div id="value">' + lang +'</div>';
        $(element).html(html);        
    }); 
});