Magento:如何获得缩略图?

时间:2012-09-17 15:53:28

标签: php magento csv datafeed

我下载了一个脚本来创建我的产品的CSV数据源,我还想在缩略图中添加一个网址。代码已经具有以下产品图片网址:

$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

2 个答案:

答案 0 :(得分:9)

我最近也需要这样做......这是我如何做到的:

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

或其他示例

您应该使用目录产品媒体配置模型来实现此目的。

<?php

//your code ...

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

编辑评论后。

更新答案

请参阅以下网址

Make all store images the base, small and thumbnail images in 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();
}

希望能帮到你!

答案 1 :(得分:2)

如果您想查看可以访问的数据,可以尝试:

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

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

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

<?php $product->getData('attribute_name') // underscores ?>
相关问题