Prestashop访问js文件中的php变量,该文件挂钩在标题中?

时间:2016-04-15 14:41:51

标签: prestashop prestashop-1.6

我正在Prestashop中创建一个自定义模块。在那个模块中,我想在js文件中使用我的php变量。如何访问js文件中的值。我不想将变量传递给smarty文件。 js文件挂钩在标题中。那么有人能告诉我hw将php值传递给挂在标题中的外部js文件吗?

任何帮助和建议都会非常明显。感谢

2 个答案:

答案 0 :(得分:5)

这里有怎么做

Media::addJsDef(array('var_name' => $variable));

答案 1 :(得分:-1)

你将不得不通过Smarty传递它,即使你不想这样做(为什么?)。你的模块已挂钩到displayHeader钩子,这是

的问题
public function hookDisplayHeader($params)
{
    $this->context->controller->addJS($this->getPathUri().'views/js/%your_js_file%.js');

    $this->context->smarty->assign('foo', 'bar');

    return $this->display(__FILE__, 'header.tpl');
}

您的header.tpl看起来像是:

<script type="text/javascript">
    var foo = "{$foo|escape:'htmlall':'UTF-8'}";
</script>

然后在您的javascript文件中,您可以使用全局foo变量。