在产品页面中使用 Prestashop 模块 tpl 变量
Posted
技术标签:
【中文标题】在产品页面中使用 Prestashop 模块 tpl 变量【英文标题】:Use Prestashop module tpl variable inside product page 【发布时间】:2018-12-02 14:23:18 【问题描述】:我有一个 Prestashop 模块,可以让我为每个产品上传额外的图片。通过使用钩子,图像使用钩子 hook h='displayProductAdditionalInfo' product=$product 显示在产品页面上。请参阅下面的模块 tpl 代码:
if $images
foreach from=$images item=image
if $image.type ==1
<img src="$this_pathuploads/$image.image" >
else
<img src="$this_pathuploads/$image.image" >
/if
/foreach
/if
我面临的挑战是,我想将此图像中的一个用作我的 poduct.tpl 文件部分的背景图像。例如,使用下面的代码:
<div class="uk-background-cover uk-panel" style="background-image: url(...);">
block name='page_header'
<h1 class="h1" itemprop="name">block name='page_title'$product.name
/block</h1>
/block
</div>
我曾想过使用assign var=bgpath value="hook='displayProductAdditionalInfo'"
,然后在style="background-image: url($bgpath);
中使用$bgpath
,但它带来了错误。
我也在下面尝试过,这样我就可以使用style="background-image: url($bgpath);
:
if $images
foreach from=$images item=image
if $image.type ==1
assign var=bgpath value="$this_pathuploads/$image.image"
/if
/foreach
/if
它不起作用,因为此变量在 product.tpl 中不可用,但在 module.tpl 中不可用
我读到我们可以使用控制器覆盖,但我不确定它是否会起作用或如何实现它。
【问题讨论】:
【参考方案1】:您可以在 tpl 文件中使用 style 标签而不是 style 属性。
if $images
foreach from=$images item=image
if $image.type ==1
assign var=bgpath value="$this_pathuploads/$image.image"
/if
/foreach
<style>
div.uk-background-cover
background-image: url($bgpath);
</style>
/if
【讨论】:
以上是关于在产品页面中使用 Prestashop 模块 tpl 变量的主要内容,如果未能解决你的问题,请参考以下文章