1

したがって、製品ビューから、関連製品を表示しています。理由から、関連製品の画像を表示する必要がありますが、それはカスタム画像属性でなければなりません。だから私は color_swatch と呼ばれるカスタム画像属性を作成しました。それにアクセスして画面に表示する必要があります。この問題についていくつか読んだことがありますが、自分のニーズに合った解決策を見つけることができませんでした。

だからここに私のコードがあります:

<?php foreach($this->getItems() as $_item): ?>
    <div class="eachProductRelated">
        <a href="<?php echo $_item->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_item->getName()) ?>" class="product-image">
            <img src="<?php echo $this->helper('catalog/image')->init($_item, 'colour_swatch') ?>"
                 width="20px" alt="<?php echo $this->htmlEscape($_item->getName()) ?>"/>
        </a>
    </div>
<?php endforeach ?>

color_swatch を小さな画像に置き換えれば、もちろん機能します。商品ビューから直接呼び出していない場合、カスタム画像属性にアクセスできないことを読みました。そして、私が見た多くの解決策は非常にやり過ぎのようです。確かにもっと簡単な解決策がありますか???

次のエラー メッセージが表示されます。

a:5:{i:0;s:25:"画像ファイルが見つかりませんでした。";i:1;s:4015:"#0 /Users/Frank/Sites/bosideng/app/code/core/Mage/ Catalog/Helper/Image.php(163): Mage_Catalog_Model_Product_Image->setBaseFile(NULL)

no_selected チェックの場合、ある種のことをしなければならない可能性はありますか?

4

4 に答える 4

2

私はこの問題を理解し、私のフランス語を許しましたが、それはマジェントによるばかげた愚かな見落としでした.

新しいカスタム画像属性を設定するときは、属性タイプ「メディア画像」を選択する前に、ドロップダウンで「製品リストで使用」を「はい」に設定する必要があります。メディア イメージを選択すると、Magento はそのオプションを非表示にします。

何年も検索した後に投稿を見つけたこの男の功績: http://thedistance.co.uk/journal/2011-10/missing-magento-media-images

于 2012-12-06T10:14:21.953 に答える
0

こんにちは、カスタム画像属性に新しい画像の URL を追加すると思います。

<img src="<?php echo Mage::getModel('catalog/product')->load($product)->getData('colour_swatch'); ?>"  
于 2012-12-06T05:25:28.640 に答える
0

インストーラーを使用してカスタム イメージ タイプを作成する場合は、以下を追加して、リスト ページとビュー ページの両方でイメージを表示できるようにします。

$this->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'colour_swatch', array(
    'group'             => 'Images',
    'type'              => 'varchar',
    'frontend'          => 'catalog/product_attribute_frontend_image',
    'label'             => 'Color Swatch',
    'input'             => 'media_image',
    'class'             => '',
    'source'            => '',
    'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    'visible'           => true,
    'required'          => false,
    'default'           => '',
    'used_in_product_listing' => true,
));
于 2015-11-13T14:49:34.027 に答える