如何在Magento中显示一个简单的产品的颜色和大小

h6my8fg2  于 2022-11-12  发布在  其他
关注(0)|答案(4)|浏览(168)

我正在开发一个Magento商店,我需要在前端显示一个简单产品的颜色和大小,这是可能的吗?
我只得到了它与可配置的产品,但不是与简单的产品。
大概是这样的:http://www.saiajustamodafesta.com.br/loja/vestido-longo-saia-justa.html
有人能帮我吗?

  • 谢谢-谢谢
8ehkhllq

8ehkhllq1#

在您前端/[您的软件包]/[您的主题]/模板/目录/产品/视图.phtml文件中

$color = $_product->getColor();
<img src="<?php echo $this->getSkinUrl('images/'.$color.'.jpg'); ?>">

您需要上传与颜色名称ex red.jpg相同的jpg图像,以及与大小相同

nwnhqdif

nwnhqdif2#

获取彩色图像属性

$color_code="color";
    $colorValue = $objectManager->get('Magento\Catalog\Model\Product')->load($_product->getId())->getData($color_code);
$swatchHelper=$objectManager->get("Magento\Swatches\Helper\Data");
$swatchData = $swatchHelper->getSwatchesByOptionsId([$colorValue]);

<img class="object-fit-contain w-100 h-100"  src="<?=
$objectManager->get('Magento\Store\Model\StoreManagerInterface')
    ->getStore()
    ->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA).
'attribute/swatch'.$swatchData[$colorValue]['value']?>" alt="color"/>
34gzjxbg

34gzjxbg3#

对于Magento 2,如果您的报价项目或产品对象不包含颜色属性:

$product = $_item->getProduct();
$product->getResource()->load($product, $product->getId(),['color']);

//then you can get attribute data
$value = $product->getColor(); //52
$label = $product->getResource()->getAttribute('color')->getFrontend()->getLabel(); // Color
$text = $product->getResource()->getAttribute('color')->getFrontend()->getValue($product);  //Orange
yquaqz18

yquaqz184#

在您的视图中。phtml getColor();?〉替换为任意属性代码,这里重要的是该属性必须在catalog_product_flat表中,为了做到这一点,你的属性必须定义为“use_in_product_listing”. Greetings。

相关问题