Prestashop-仅在某些产品上播放视频

Prestashop-仅在某些产品上播放视频,prestashop,smarty,Prestashop,Smarty,我正在尝试编写一个代码,在某些产品上显示视频,在其他产品上显示另一个 我已经做到了这一点: {if $id_product = 39}<iframe width="800" height="400" src="https://www.youtube.com/embed/EXAMPLE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" a

我正在尝试编写一个代码,在某些产品上显示视频,在其他产品上显示另一个

我已经做到了这一点:

{if $id_product = 39}<iframe width="800" height="400"       src="https://www.youtube.com/embed/EXAMPLE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>{/if}
{if$id\u product=39}{/if}
对于其他产品,我使用相同的代码,但更改了产品id。我认为产品id的变量不好,但我找不到正确的变量。有什么想法吗?

应该是:

{if$id\u product==39}

其中==如果相等,则测试,而=表示赋值

这就是说,似乎您正在将其添加到模板文件中,因此除非您专门将$id_product指定为smarty变量,否则该变量不存在


根据模板的不同,您应该尝试使用$product.id或$product->id或$product['id'。

首先,您需要告诉我们您使用的是哪个版本的PrestaShop,以及您希望在何处显示此视频

  • PrestaShop 1.6和产品清单:
  • {if$product.id\u product==id\u OF\u THE\u product}这是您的代码{/if}

  • PrestaShop 1.6,产品页面:
  • {if$product->id==id\u的产品}这是您的代码{/if}

  • PrestaShop 1.7产品页面和产品列表:

  • {if$product.id\u product==id\u OF\u THE\u product}这是您的代码{/if}

    欢迎使用堆栈溢出。请阅读,然后再看一遍你的问题。你可能会意识到,如果没有更多关于你如何使用它的信息,enyone几乎不可能帮助你解决这个问题。这取决于很多事情。有多少产品带有视频,有多少产品带有iframe?你的视频和你的产品之间有什么关系?1:1还是n:1?同样的问题也适用于第二组产品(如有)的产品和iframe之间的关系。根据答案,您可能需要在产品实体和/或数据库中的列/表中使用自定义字段。请再解释一下。无论如何,与39这样的常量值相比是不好的做法