今天我开始为prestashop
设计主题,我是初学者。
我对主题模块
我的新主题有一些模块位于此处:
prestashop/theme/mytheme/Module
我希望为我的新主题定制。
但prestashop不使用My Module而是使用默认模块位于:
Prestashop/Module/
什么是错误以及如何解决这个问题?
答案 0 :(得分:0)
覆盖模块的行为
模块通常采用以下格式:
/modules/my_module/my_module.tpl
/modules/my_module/my_module.css
/modules/my_module/my_module.js
自PrestaShop 1.5以来,它们可以也应该采用以下格式:
/modules/my_module/views/templates/front/my_module.tpl
/modules/my_module/views/templates/front/my_module.css
/modules/my_module/views/templates/front/my_module.js
PrestaShop允许您覆盖或替换某些前台模块文件 在同一主题内的新的。覆盖由...控制 主题:一旦它包含一个
/modules
文件夹(或更多!),PrestaShop将会 浏览其内容以查找与其名称和路径相同的文件 那些现有的模块,并用新的模块替换它们。这意味着,对于PrestaShop 1.4兼容模块:
/themes/my_theme/modules/my_module/my_module.tpl
/themes/my_theme/css/modules/my_module/my_module.css
/themes/my_theme/js/modules/my_module/my_module.js
自PrestaShop 1.5以来,路径稍长
/themes/my_theme/modules/my_module/views/templates/front/my_module.tpl
/themes/my_theme/css/modules/my_module/views/templates/front/my_module.css
/themes/my_theme/js/modules/my_module/views/templates/front/my_module.js
一般来说,覆盖
.tpl
,.js
或.css
文件的正确途径 取决于模块自己的路径。这就是为什么如果PrestaShop 1.5必须使用没有view
文件夹的模块,它需要相同的覆盖路径。简而言之,您可以将代码保留在1.5中 正如你在1.4中所做的那样。
客户加载时将使用新文件 你的店铺。
与手动放置的覆盖代码相反 在
/override
文件夹中,模块覆盖会立即启用 模块已安装。在安装过程中,重写代码是合并的 与那些已经存在的(如果有的话),否则他们被复制到 位于PrestaShop文件夹根目录的/override
文件夹。