咨询:PrestaShop中编辑页脚链接(添加包裹层)需修改哪个.tpl文件?
老哥,我来给你捋捋怎么搞定这个需求,核心就是找到对应模板文件加个包裹层就行,不同主题和版本可能有点小差异,我给你拆解清楚:
1. 先定位目标模板文件
你可以先打开浏览器开发者工具,查看那组「特价商品、产品分类、畅销商品」链接的HTML结构,记下它们的类名或者包裹标签(比如<ul class="footer-product-links">),然后去你的主题目录(themes/你的主题名称/templates/)里搜索对应的类名或者链接文本(比如“特价商品”),就能快速找到对应的文件。
2. 常见需要修改的文件
情况一:链接直接写在页脚主模板里
最常见的就是footer.tpl文件(路径:themes/[你的主题]/templates/footer.tpl)。你打开这个文件,找到block-contact模块输出的代码之后的那部分商品类链接列表,直接在外面套上你想要的包裹层(比如<div class="custom-product-links-wrapper">...</div>)就行。
举个例子,原来的代码可能是:
{* block-contact模块的调用代码 *} {hook h='displayFooterBlockContact'} {* 商品类链接列表 *} <ul class="footer-product-links"> <li><a href="{$urls.pages.specials}">{l s='特价商品'}</a></li> <li><a href="{$urls.pages.categories}">{l s='产品分类'}</a></li> <li><a href="{$urls.pages.bestsellers}">{l s='畅销商品'}</a></li> </ul>
修改后变成:
{* block-contact模块的调用代码 *} {hook h='displayFooterBlockContact'} {* 新增包裹层 *} <div class="custom-product-links-wrapper"> <ul class="footer-product-links"> <li><a href="{$urls.pages.specials}">{l s='特价商品'}</a></li> <li><a href="{$urls.pages.categories}">{l s='产品分类'}</a></li> <li><a href="{$urls.pages.bestsellers}">{l s='畅销商品'}</a></li> </ul> </div>
情况二:链接拆分到页脚部分模板里
有些主题会把页脚拆分成多个片段文件,比如_partials/footer-product-links.tpl或者footer-links.tpl这类命名的文件(路径:themes/[你的主题]/templates/_partials/)。找到对应的文件后,直接在整个链接列表外面加包裹层即可。
情况三:链接来自模块输出
如果这组链接是通过blockcategories、blockspecials这类模块在页脚的输出,那你需要找到对应模块的页脚模板,比如modules/blockcategories/views/templates/front/footer.tpl,不过这种情况比较少见,通常主题会把这些模块的输出整合到主页脚模板里。
3. 修改后别忘了清缓存
改完模板后,一定要去PrestaShop后台的「高级参数 -> 性能」里清空缓存,或者直接删除服务器上var/cache目录下的文件,不然修改可能不会生效哦。
内容的提问来源于stack exchange,提问作者Stéphane Joos

