1

製品の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

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()

コメントの後に編集します。

回答を更新

以下の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();
}

それがあなたを助けることを願っています!

于 2012-09-17T16:04:34.763 に答える
2

アクセスできるデータを確認したい場合は、次のことを試してください。

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

次に、2つの方法を使用してこのデータを取得できます。

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

また

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