2014-01-28 1 views
0

를 업데이트 드디어 요청하기로 결정했습니다 :는 젠토 cronjob에 긴 검색 후 재고

나는 하루에 한 번 "재고"의 제품 속성 "재고"를 업데이트 젠토에 대한 cronjob에 필요합니다.

이 속성을 잡아서 cronjob으로 변경할 가능성이 있습니까?

답변

0

내가 그에 대한 사용자 정의 확장을 생성하고,이 크론은 매 15 분 실행 사용하시기 바랍니다 감사합니다.

 Please create config.xml under app/code/local/Amit/CustomStockUpdate/etc/  
     <?xml version="1.0"?> 
      <config> 
       <modules> 
       <Amit_CustomStockUpdate> 
        <version>0.1.0</version> 
       </Amit_CustomStockUpdate> 
       </modules> 
       <global> 
        <models> 
         <customstockupdate> 
          <class>Amit_CustomStockUpdate_Model</class> 
         </customstockupdate> 
        </models> 
       <helpers> 
        <customstockupdate> 
        <class>Amit_CustomStockUpdate_Helper</class> 
        </customstockupdate> 
       </helpers> 
       </global> 
        <crontab> 
         <jobs> 
          <customstockupdate_setting> 
          <schedule><cron_expr>*/15 * * * *</cron_expr></schedule> 
          <run><model>customstockupdate/observer::autostockupate</model></run> 
         </customstockupdate_setting> 
         </jobs> 
        </crontab> 

      </config> 

     create Observer.php under app/code/local/Amit/CustomStockUpdate/Model/ 
    public function autostockupate(){ 
     // Disable the module itself 

      $stock_item = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product_id); 
if (!$stock_item->getId()) { 
    $stock_item->setData('product_id', $product_id); 
    $stock_item->setData('stock_id', 1); 
} 

$stock_item->setData('is_in_stock', 1); // is 0 or 1 
$stock_item->setData('manage_stock', 1); // should be 1 to make something out of stock 

try { 
    $stock_item->save(); 
} catch (Exception $e) { 
    echo "{$e}"; 
} 
    } 
0

다음은 제품 재고를 업데이트하는 방법의 예입니다. 감사합니다

$mageproduct = Mage::getModel('catalog/product')->setStoreId($storeId)->loadByAttribute('sku', $Sku); 
updateStockByProductId($mageproduct->getId(), $newQty); 

function _updateStockByProductId($id, $qty) { 
$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($id); 
if (!$stockItem->getId()) { 
    $stockItem->setData('product_id', $id); 
    $stockItem->setData('stock_id', 1); 
} 
    if ($stockItem->getQty() != $qty) { 
    $stockItem->setData('qty', $qty); 
    $stockItem->setData('is_in_stock', $qty ? 1 : 0);     
    $stockItem->save();    
    }   
    $stockItem->clearInstance(); 
} 
당신이 젠토 업데이트 제품 재고를 확인할 수 있습니다

다른 링크 ->http://www.ayasoftware.com/magento-update-product-inventory