我下载了一个脚本来创建我的产品的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
?
答案 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 ?>