やあみんな私は少しジレマを持っています。私はMagento版を実行しています。1.7.0.2
構成可能な製品を作成するときは、在庫を「在庫あり」に設定してから、別の在庫を持つ他の製品を追加する必要があります。
追加製品の在庫が 0 になった場合でも、メインの構成可能な製品はまだ「在庫あり」です。
すべての追加製品の在庫が 0 になったときに、構成可能な主な製品の在庫が「在庫切れ」になるようにしたいと考えています。
このカスタム コードを使用して、「在庫切れ」の製品を常に一番下のページに表示しています。また、構成可能な製品が「在庫切れ」のオプションを受け取らない限り、最下部のページに移動できません。
$this->getSelect()->joinLeft(array('_inventory_table'=>$this->getTable('cataloginventory/stock_item')),"_inventory_table.product_id = e.entity_id",array('is_in_stock', 'manage_stock'));
$this->addExpressionAttributeToSelect('on_top','(CASE WHEN (((_inventory_table.use_config_manage_stock = 1) AND (_inventory_table.is_in_stock = 1)) OR ((_inventory_table.use_config_manage_stock = 0) AND (1 - _inventory_table.manage_stock + _inventory_table.is_in_stock >= 1))) THEN 1 ELSE 0 END)',array());
$this->getSelect()->order('on_top DESC');