1

我下载了一个脚本来创建我的产品的 CSV 数据馈送,并且我还想在缩略图中包含一个 url。该代码已经具有产品图片网址的以下内容:

$product_data['ImageURL']=Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product'.$product->getImage();

所以我试图将其调整为:

$product_data['ThumbnailURL']=Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product'.$product->getThumbnail();

它显示完全相同的图像网址(不是拇指)。我将如何解决这个问题?

我做了一个var_dump($product);,结果是:

["image"]=> string(18) "/f/i/file_2_18.png" ["small_image"]=> string(18) "/f/i/file_2_18.png" ["thumbnail"]=> string(18) "/f/i/file_2_18.png"

我还需要获取产品的子类别,但我不知道如何调用它。如何查看哪些变量是可能的?例如$product->getPrice$product->getName

4

2 回答 2

9

我最近也需要这样做......这就是我的方法:

$_product->getMediaGalleryImages()->getItemByColumnValue('label', 'LABEL_NAME')->getUrl();

或者另一个例子

为此,您应该使用目录产品媒体配置模型。

<?php

//your code ...

echo Mage::getModel('catalog/product_media_config')
            ->getMediaUrl( $product->getImage() ); //getSmallImage(), getThumbnail()

在您发表评论后编辑。

更新答案

见以下网址

让所有商店图像成为 Magento 中的基本图像、小图像和缩略图图像?

试试看

$products = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*');
foreach ($products as $product) {
    if (!$product->hasImage()) continue;
    if (!$product->hasSmallImage()) $product->setSmallImage($product->getImage());
    if (!$product->hasThumbnail()) $product->setThumbnail($product->getImage());
    $product->save();
}

希望对你有帮助!

于 2012-09-17T16:04:34.763 回答
2

如果您想查看可以访问哪些数据,可以尝试以下操作:

<?php var_dump(array_keys($product->getData())); ?>

然后,您可以使用两种方法来获取此数据:

<?php $product->getAttributeName() // Use CamcelCase ?>

或者

<?php $product->getData('attribute_name') // underscores ?>
于 2012-09-18T08:52:38.137 回答