0

私の質問は、カスタム属性を list.phtml ファイルのホバー画像の画像として割り当てる方法です。

私は調査を行い、このコードを使用してlist.phtmlのグリッドビューで画像を呼び出すことで、サイトにやりたいことをさせました

<a href="<?php echo $_product->getProductUrl() ?>"
   title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"
   class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(135); ?>"
   width="135" height="135" 
   alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"
   onmouseover="this.src='<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail')->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(135) ?>';"
   onmouseout="this.src='<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(135) ?>';" />
</a>

これは、ホバー画像がサムネイルとして割り当てられている場合に機能します。

私の問題は、この拡張機能を使用してすべての製品をインポートしていて、ベース、スモール、サムネイルに別の画像を割り当てることができないことです。同じ画像を使用する必要があります。(はい、各画像を個別に選択してサムネイルを選択できますが、これは私が持っている製品の数のオプションではありません)

さて、私が行ったことは、ホバー画像と呼ばれる製品のカスタム属性を作成し、列をcsvファイルに追加して、それが機能することです-ホバー画像は、ここに見られるように画像の下のホバー画像オプションに割り当てられます:

ここに画像の説明を入力

私の質問は、上記のコード行を編集して、サムネイルの代わりに新しい「hover_image」属性を呼び出す方法です。サムネイルを「hover_image」に変更しようとしましたが、サイトがクラッシュします。

助けてください、私はとても近くにいるように感じますが、まだ十分ではありません.

4

1 に答える 1

0

問題は、属性「hover_image」がカテゴリ ページに読み込まれていないことです。それを変更するには、これを試してください:

local.xml を使用するのが最適かどうかがわからない場合は、任意のモジュール構成 xml ファイルに移動し、構成ノードの下にこれらの行を追加します

<config>
    ...
    <frontend>
        <product>
            <collection>
                <attributes>
                    <hover_image/>
                </attributes>
            </collection>
        </product>
    </frontend>
    ...
</config>

「hover_image」にはまだプレースホルダーがないため、追加する必要があります。に移動し skin/frontend/default/default/images/catalog/product/placeholderます。ここでは、通常の画像のプレースホルダーを見つけて、image.jpg をコピーし、コピーの名前を「hover_image.jpg」に変更できます。

その後、キャッシュをクリアします。プロダクト フラット インデックスを使用している場合は、インデックスを再作成します。次に、使用できるはずです

<?php echo $this->helper('catalog/image')
    ->init($_product, 'hover_image')
    ->resize(135) ?>

そうでない場合はお知らせください

于 2013-09-26T13:20:48.400 に答える