image - 如何显示产品的第二张图片?PrestaShop 1.7.5.1
问题描述
我需要仅针对特定块显示不同的封面图像(第二个或最后一个,这并不重要,但不是第一个)ps_bestseller
:.
我唯一发现的是这段代码是这个链接,但它只适用于 1.6 版本:
这是我的默认代码:
{block name='product_thumbnail'}
{if $product.cover}
<a href="{$product.url}" class="thumbnail product-thumbnail">
<img
src = "{$product.cover.bySize.home_default.url}"
alt = "{if !empty($product.cover.legend)}{$product.cover.legend}{else}{$product.name|truncate:30:'...'}{/if}"
data-full-size-image-url = "{$product.cover.large.url}"
>
</a>
{else}
<a href="{$product.url}" class="thumbnail product-thumbnail">
<img
src = "{$urls.no_picture_image.bySize.home_default.url}"
>
</a>
{/if}
{/block}
当我尝试编辑代码时,它返回一个空白页。有什么建议吗?
解决方案
创建一个将使用此内容命名Link.php
的覆盖文件:override/classes/
<?php
use PrestaShop\PrestaShop\Core\Addon\Module\ModuleManagerBuilder;
use PrestaShop\PrestaShop\Adapter\SymfonyContainer;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use PrestaShop\PrestaShop\Core\Feature\TokenInUrls;
class Link extends LinkCore
{
public function getLastImageLink($id_product, $product_name, $type = null) {
$maxId = Db::getInstance()->getValue('SELECT id_image FROM `'._DB_PREFIX_.'image` WHERE id_product = '.(int)$id_product.' ORDER BY position DESC');
return $this->getImageLink($product_name, $id_product.'-'.$maxId, $type = null);
}
}
Ensuite dans le tpl pour appeler l'url de votre image mettez :
{$link->getLastImageLink($product.id, $product.name, 'large')}
问候
推荐阅读
- web-services - 如果应用程序被杀死,当我尝试更新 android 小部件时,Web 服务不起作用
- python - 如何在数字的偶数索引处打印数字?
- windows - 了解 Autohotkey Controlsend 命令
- typescript - 网页未在赛普拉斯浏览器中加载
- tabulator - 制表符持久性不适用于切换列
- r - 为什么情节没有产生我的所有观点?
- sql - SQL - CASE WHEN THEN ELSE DO
- node.js - 你可以在没有 Yarn 的机器上使用 Yarn2 PnP “零安装”吗?
- java - 为什么 DecimalFormat 舍入不一致?
- data-binding - 没有后端调用的 SAPUI5 绑定元素