Magento: как получить миниатюру?

Я загрузил скрипт для создания потока данных CSV своих продуктов, и я также хотел бы добавить URL-адрес миниатюры. Код уже имеет следующее для 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();

Который отображает точно такой же URL-адрес изображения (не большой палец). Как бы я это исправить?

Я сделал 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 ответа

Решение

Недавно мне тоже нужно было это сделать... вот как я дошел до этого:

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

Или другой пример

Для этой цели вам следует использовать модель конфигурации носителя для каталога.

<?php

//your code ...

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

Редактировать После вашего комментария.

Обновить ответ

Смотрите ниже URL

Сделать все изображения магазина базовыми, маленькими и миниатюрными изображениями в 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();
}

Надеюсь, что это поможет вам!

Если вы хотите увидеть, к каким данным вы можете получить доступ, вы можете попробовать это:

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

Затем вы можете использовать два метода для получения этих данных:

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

или же

<?php $product->getData('attribute_name') // underscores ?>
Другие вопросы по тегам