我构建了一个Prestashop模块,使我可以为每种产品上传其他图像。通过使用挂钩,使用挂钩{hook h ='displayProductAdditionalInfo'product = $ product}在产品页面上显示图像。请参见下面的模块tpl代码:
{if $images}
{foreach from=$images item=image}
{if $image.type ==1}
<img src="{$this_path}uploads/{$image.image}" width="">
{else}
<img src="{$this_path}uploads/{$image.image}" width="">
{/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'}"}
,然后在{$bgpath}
内使用style="background-image: url({$bgpath});
,但是带来了错误。
我还在下面尝试过,以便可以使用style="background-image: url({$bgpath});
:
{if $images}
{foreach from=$images item=image}
{if $image.type ==1}
{assign var=bgpath value="{$this_path}uploads/{$image.image}"
{/if}
{/foreach}
{/if}
不起作用,因为此变量在product.tpl中不可用,但在module.tpl中不可用
我读到我们可能会使用控制器替代,但是我不确定它是否会起作用或如何实现。
答案 0 :(得分:0)
您可以在tpl文件中使用样式标签代替样式属性。
{if $images}
{foreach from=$images item=image}
{if $image.type ==1}
{assign var=bgpath value="{$this_path}uploads/{$image.image}"
{/if}
{/foreach}
<style>
div.uk-background-cover {
background-image: url({$bgpath});
}
</style>
{/if}