我正在使用 Prestashop 1.6 。我认为我需要更新JQuery版本以使用 Fancybox 3 。
我查看了FTP / public_html / js / jquery , jquery-1.11.0.min.js 文件可用。因此,JQuery不是最新的。我将此文件的名称更改为 old_jquery-1.11.0.min.js 。我已经安装了 jquery-3.4.1.min.js 文件。但这不起作用。
是否有一个配置文件,我可以在其中输入当前文件路径?还是以其他方式完成更新?
答案 0 :(得分:2)
PrestaShop正在使用addJquery()
类中的Controller
方法,该方法使您可以确定要为特定页面包括的Jquery的路径/版本。这也使您可以同时运行两个版本的jQuery(通过使用noConflict
标志as described here)
addJquery()
方法使用静态方法来获取jQuery的路径:Media::getJqueryPath()
本身就是使用_PS_JQUERY_VERSION_
常量。
因此,您需要在两个地方进行更改:
管理面板
文件:PrestaShop 1.6.1.24中classes/controller/AdminController.php
行上的3831
<script src='"._PS_JS_DIR_."jquery/jquery-1.11.0.min.js'></script>
定义
文件:PrestaShop 1.6.1.24中/config/defines.inc.php
行上的217
define('_PS_JQUERY_VERSION_', '1.11.0');
但是,由于PrestaShop使用的某些jQuery插件(在后端和前端)可能会产生副作用,因此我建议不要这样做。
一种替代解决方案是:
setMedia()
中的classes/controller/FrontController.php
方法$this->addJquery()
中指定jQuery 3.4.1版本(PrestaShop 1.6.1.24中的952行)-仅当您检测到当前控制器为ProductControllerCore时才可以我希望这会有所帮助!