0

構成可能な製品で在庫切れの単純な製品をリストする方法を知っている人はいますか? たとえば、いくつかの属性、サイズなどを持つアイテムがあります。特定のサイズが在庫切れの場合、ドロップダウンにリストされません。ここに表示されるようにしたいのですが、顧客には在庫切れであることも伝えたいと思います。これは可能ですか?

Google で利用可能な多くの mod を試しましたが、すべて失敗します

私はmagento 1.6を使用しています

ソースhttp://www.magentocommerce.com/boards/viewthread/33550/

4

2 に答える 2

3

はい、うまくいきます。v1.9で使用しましたが、行番号が少し異なります。行 179 を変更

if(!$this->_validateAttributeValue($attributeId, $value, $options)) {
    $inStock = false;
}

次に、202行目の後に追加します

'stock' => $inStock 

コードを取得する

$info['options'][] = array(
    'id' => $value['value_index'],
    'label' => $value['label'],
    'price' => $configurablePrice,
    'oldPrice'  => $this->_prepareOldPrice($value['pricing_value'],$value['is_percent']),
                            'products'  => $productsIndex,
                            'stock'     => $inStock
                        );

29app\design\frontend\base\default\template\catalog\product\view\type\options\configurable.php 行目以降で指定

$inStock=false;

v.1.9 のデフォルトのデモ テンプレートでテスト済み。ドロップダウン リストに単純な製品項目が表示されますが、選択はできません。

于 2014-12-03T13:06:58.710 に答える
2

100% 確実ではありませんが、Mage_Catalog_Block_Product_View_Type_Configurable の 151 行目を変更することで、目的を達成できると思います。

if(!$this->_validateAttributeValue($attributeId, $value, $options)) {
   $inStock = false;
}

その後、170 行目で、このフラグを options 配列に含めることができます。

$info['options'][] = array(
    'id'        => $value['value_index'],
    'label'     => $value['label'],
    'price'     => $configurablePrice,
    'oldPrice'  => $this->_preparePrice($value['pricing_value'], $value['is_percent']),
    'products'  => $productsIndex,
    'stock'     => $inStock
);

次に、フロントエンドに: app\design\frontend\base\default\template\catalog\product\view\type\options\configurable.php 在庫フラグが格納されている $options var があります。これを使用してロジックを作成できます。私はこれをテストしていないので、動作することを確認してください

于 2012-05-29T13:04:33.857 に答える