📜  prestashop 1772 显示产品的相同名称 (1)

📅  最后修改于: 2023-12-03 15:03:51.842000             🧑  作者: Mango

Prestashop 1772 - 显示具有相同名称的产品

在Prestashop 1.7.7.2版本中,如果您的商店中有多个具有相同名称的产品,则默认情况下,每个产品的名称旁边都会显示其唯一的ID (Product ID)。但是,有时您可能需要在前台显示重复的产品名称而没有ID。本文将介绍如何通过更改代码来实现此目的。

步骤
  1. 打开 /themes/your-theme/templates/catalog/listing/product-list.tpl 文件,并在其中找到 {$product.name} 的代码行。
  2. {$product.name} 替换为以下代码:
{$product.name}{if $product.id_product_attribute}{assign var="ids" value="`-{$product.id_product_attribute}`"}{/if}{if isset($product_name_repetitions[$product.id_product.$ids]) && $product_name_repetitions[$product.id_product.$ids]>1} <span class="product-qty">x{$product_name_repetitions[$product.id_product.$ids]}</span>{/if}
  1. 保存更改并重新加载您的网站,您将不再看到产品名称旁边的ID,而重复的产品名称旁边将会显示它们的数量。
解释

该代码通过使用Smarty语法来检查当前正在呈现的产品是否具有相同的名称。如果是,它将使用 $product_name_repetitions 数组中存储的数量来显示产品的重复次数。

{$product.name} 

{$product.name} 显示产品名称。

{if $product.id_product_attribute}{assign var="ids" value="`-{$product.id_product_attribute}`"}{/if}

如果产品具有属性,则 $ids 变量将存储该属性的ID。

{if isset($product_name_repetitions[$product.id_product.$ids]) && $product_name_repetitions[$product.id_product.$ids]>1} <span class="product-qty">x{$product_name_repetitions[$product.id_product.$ids]}</span>{/if}

如果 $product_name_repetitions 数组中存在与当前产品的ID和属性ID组合匹配的项,并且其值 >1,那么将显示产品的重复次数。

结论

如果您希望在Prestashop 1.7.7.2版本中显示带有相同名称的产品的数量,可以通过更改文件中的代码来实现。 上述解决方案将显示重复产品名称的数量,而不是ID。