无法在 PrestaShop 1.6 的脚本标签中添加数据属性
Can not add data attributes in script tag in PrestaShop 1.6
我正在 PrestaShop 1.6 中开发自定义支付模块。我的前端控制器路径是:mymodule/controllers/front/payment.php
payment.php 包含:
$this->context->smarty->assign(array(
'dataCompleteURL' => Tools::getShopDomainSsl(true, true) . __PS_BASE_URI__.'index.php?fc=module&module=mymodule&controller=callback&cart='.$cartID));
$this->setTemplate('payment.tpl');
我的模板文件路径是:
mymodule/views/templates/front/payment.tpl
payment.tpl 包含:
<script src="http://easternbank.test.gateway.com/checkout.js" data-complete="{$dataCompleteURL}" type="text/javascript"> </script>
问题是在我的本地主机上它工作正常。我在脚本标签中得到了数据完整 URL。但是当我在我的测试服务器上安装模块时,我没有得到完整的数据 URL.
如有任何帮助或建议,我们将不胜感激。
提前致谢。
更新
我发现问题出在脚本标签的"src"中的"https"。如果 src URL 以 https 开头,我不明白为什么数据完整会消失。没有https也没关系
当我在浏览器中查看 src 中带有 https 的以下代码的源代码时,我得到:
<script src="http://easternbank.test.gateway.com/checkout.js" data-complete="{$dataCompleteURL}" type="text/javascript"> </script>
data-complete 属性消失。但是当我在没有 "https" 的情况下使用 src 查看脚本的源代码时,我得到了 data-complete 属性。
我找不到原因。
或
我可以使用 :
在 payment.php 控制器中添加 javascript
$this->context->controller->addJS(($this->_path).'js/checkout.js');
但是我不知道如何在addJS函数中传递数据属性。
终于找到解决办法了。我觉得很奇怪。因为我在prestashop中只对BO做了如下改动:
- 去后台
- 进入高级参数 -> 性能
- 去 CCC
- 禁用该选项:将JavaScript移到末尾
就是这样。我的问题解决了。
顺便说一句,我从这个问题中学到了一些东西:我应该在 prestashop 后台尝试所有可能的配置选项。
我不认为这个选项会导致这类问题。但它是。所以千方百计应该是解决问题的关键公式,虽然这似乎与所关注的问题上下文无关。
我正在 PrestaShop 1.6 中开发自定义支付模块。我的前端控制器路径是:mymodule/controllers/front/payment.php
payment.php 包含:
$this->context->smarty->assign(array(
'dataCompleteURL' => Tools::getShopDomainSsl(true, true) . __PS_BASE_URI__.'index.php?fc=module&module=mymodule&controller=callback&cart='.$cartID));
$this->setTemplate('payment.tpl');
我的模板文件路径是:
mymodule/views/templates/front/payment.tpl
payment.tpl 包含:
<script src="http://easternbank.test.gateway.com/checkout.js" data-complete="{$dataCompleteURL}" type="text/javascript"> </script>
问题是在我的本地主机上它工作正常。我在脚本标签中得到了数据完整 URL。但是当我在我的测试服务器上安装模块时,我没有得到完整的数据 URL.
如有任何帮助或建议,我们将不胜感激。
提前致谢。
更新
我发现问题出在脚本标签的"src"中的"https"。如果 src URL 以 https 开头,我不明白为什么数据完整会消失。没有https也没关系
当我在浏览器中查看 src 中带有 https 的以下代码的源代码时,我得到:
<script src="http://easternbank.test.gateway.com/checkout.js" data-complete="{$dataCompleteURL}" type="text/javascript"> </script>
data-complete 属性消失。但是当我在没有 "https" 的情况下使用 src 查看脚本的源代码时,我得到了 data-complete 属性。
我找不到原因。
或 我可以使用 :
在 payment.php 控制器中添加 javascript$this->context->controller->addJS(($this->_path).'js/checkout.js');
但是我不知道如何在addJS函数中传递数据属性。
终于找到解决办法了。我觉得很奇怪。因为我在prestashop中只对BO做了如下改动:
- 去后台
- 进入高级参数 -> 性能
- 去 CCC
- 禁用该选项:将JavaScript移到末尾
就是这样。我的问题解决了。
顺便说一句,我从这个问题中学到了一些东西:我应该在 prestashop 后台尝试所有可能的配置选项。
我不认为这个选项会导致这类问题。但它是。所以千方百计应该是解决问题的关键公式,虽然这似乎与所关注的问题上下文无关。