在OpenCart 3.0.2.0中,我试图让类别和产品页面显示每个产品的“SKU”变量。变量与数据库以及其他产品数据一起存在于数据库中,但由于某种不正当的原因,OpenCart没有显示它的选项。您可以显示产品名称,价格,库存可用性等,但不能显示SKU。
有谁知道如何在OC 3中专门做这个?他们已经从PHP切换到Twig模板,我不确定我做错了什么,但我在OC 2.0中使用的方法不适用于3.0。
{{ product.href }} displays the product URL
{{ product.description }} displays the description
{{ product.price }} displays the price
...but {{ product.sku }} or {{ sku }} or {{ product['sku'] }} does NOTHING.
尝试使用默认的OpenCart代码。这在最新的opencart 3.0.2.0版中运行良好
第1步:打开文件catalog/controller/product/category.php
找:
'rating' => $result['rating'],
添加后:
'sku' => $result['sku'],
第2步:打开文件:catalog\language\en-gb(your language)\product\category.php
找:
$_['text_price'] = 'Price:';
添加后:
$_['text_sku'] = 'SKU:';
第3步:打开文件:catalog/view/theme/default(your theme)/template/product/category.twig
找:
<p>{{ product.description }}</p>
添加后:
{% if product.sku %}
<p>{{ text_sku }} {{ product.sku }}</p>
{% endif %}
第1步:打开文件catalog/controller/product/product.php
找:
$data['heading_title'] = $product_info['name'];
添加后:
$data['sku'] = $product_info['sku'];
第2步:打开文件:catalog\language\en-gb(your language)\product\product.php
找:
$_['text_model'] = 'Product Code:';
添加后:
$_['text_sku'] = 'SKU:';
第3步:打开文件:catalog/view/theme/default(your theme)/template/product/product.twig
找:
<li>{{ text_model }} {{ model }}</li>
添加后:
{% if sku %}
<li>{{ text_sku }} {{ sku }}</li>
{% endif %}
您可以创建自己的修改并将其安装在opencart中,并使其在产品页面上显示SKU单位。
最好在占位符中输出修改前端,以便它在主题中准确显示您想要的位置。
例如,此修改组合了产品页面SKU显示代码并将其输出到主题/.../products.twig文件,但它查找:
<!-- product_sku -->
因此,您不必猜测并混淆不同的东西,只需将此标记放在主题文件中并运行修改即可。
修改链接:https://github.com/nabtron/opencart-ocmod-sku-product
支持和解释:https://nabtron.com/opencart-ocmod-product-sku/
(别忘了压缩xml文件本身(不是文件夹))。