구성 옵션에서 사라지 프런트 엔드 후 재고 상태 re-index
-
12-12-2019 - |
문제
나는 사용자 정의 가져오는 일상적인 생성하는 구성 가능한 제품 및 할당 어린이들이다.이러한 표시에 앞 끝없이 문제가 될 때까지 나는 수동으로 실행한 주식 상태가 다시 인덱스입니다.
나는 스냅샷을 전후에서 다시 인덱스와 있는 하나의 테이블이 변경되는 cataloginventory_stock_status
가 stock_status
열에서 변경된 1
(을 때 나타나지 않용) 0
(지금은 나타나지 않)에 대한 내 구성 부모입니다.
할 수 있는 사람이 행동하거나 그것을 해결하는 방법을 알고?
을 명확히 하기 위해,다시 동기화 제품에는 다음 코드를 호출합니다:
$stockStatus = Mage::getModel('cataloginventory/stock_status');
$stockStatus->assignProduct($product);
$stockStatus->saveProductStatus($product->getId(), 1);
은 옵션이 나타납까지 다시 다음 상태 re-인덱스입니다.
해결책 2
그것은 밝혀 가져올 때는 구성 가능한 부모는 나를 건너뛰는 몇 가지는 코드를 넣어에 항목 cataloginventory_stock_item
의 원 stock_status
설정 0
re-인덱스 프로세스가 실행됩니다.그 마음에,우리는지 확인해야 구성할 수 있는 항목.e:
$stockItem = Mage::getModel('cataloginventory/stock_item');
$stockItem->assignProduct($product);
$stockItem->setData('stock_id', 1);
$stockItem->setData('qty', $stockLevel);
$stockItem->setData('use_config_min_qty', 1);
$stockItem->setData('use_config_backorders', 1);
$stockItem->setData('min_sale_qty', 1);
$stockItem->setData('use_config_min_sale_qty', 1);
$stockItem->setData('use_config_max_sale_qty', 1);
$stockItem->setData('is_in_stock', ($isInStock) ? 1 : 0);
$stockItem->setData('use_config_notify_stock_qty', 1);
$stockItem->setData('use_config_manage_stock', 0);
$stockItem->setData('manage_stock', ($this->getPropS($kcStockItem, 'STOCK_CONTROLLED') == '-1') ? 1 : 0);
$stockItem->setData('backorders', $backorderVal);
$stockItem->setData('use_config_backorders', "0");
$stockItem->save();
다른 팁
로 이 문제를 가져올 때 주식을 통해 상태 API 방법입니다.내가 무엇을 해야 했던 패치 핵심에 의해 다시 작성하는 핵심 모듈이 있습니다. Mage_Catalog_Model_Resource_Product_Status::getProductStatus()
에서 버그가 있는 그것이 잘못 부대 아동 상태가 있습니다.이 문제를 해결하기 위해 버그,내가 대체$선택 할당에서 다른 사람의 문은 이 방법으로
$select = $adapter->select()
->from(
array('t1' => $attributeTable),
'')
->joinLeft(
array('t2' => $attributeTable),
't1.entity_id = t2.entity_id AND t1.attribute_id = t2.attribute_id AND t2.store_id = ' . (int)$storeId,
array('t1.entity_id')
)
->columns(array('value' => $valueCheckSql))
->where('t1.store_id = ?', Mage_Core_Model_App::ADMIN_STORE_ID)
->where('t1.attribute_id = ?', $attribute->getAttributeId())
->where('t1.entity_id IN(?)', $productIds);
당신이 있는지 확인 이를 재정의하여 Mage_Catalog_Model_Resource_Product_Status::getProductStatus()
방법 이것을 달성하도록되지 않을 수정하여 핵심이 직접 있습니다.