Tablonun amacı cataloginventory_stock


10

Ben varsayılan Magento sürüm 1.0 ila 1.8 (ce) görüyorum ki cataloginventory_stocksadece bir kayıt içeren bir tablo var .

stock_id    stock_name
1           Default

Bununla ilgili olarak, Mage_CatalogInventory_Model_Stock_Itemmodelde bu yöntem var

public function getStockId()
{
    return 1;
}

üzerinde bir yorum ile @todo multi stock.

Sanırım birisi çoklu stok işlevselliği uygulamak istedi ve (diğer birçok "özellik" gibi) karar verdi ama emin değilim.

Benim sorum şu: Bu tablonun başka bir amacı var mı, kodun diğer bölümlerini etkiliyor mu yoksa yeni bir özellik için bir başlangıç ​​noktası var mı?


Magento 2 çıktı. Bu masa hala orada ve işe yaramaz.
— DucTM

Yanıtlar:


7

O tamamen veritabanına tek başına bir ek olarak işleve görünüyor bu tablonun endeksler bir göz olması zaman varlık için .

assignProduct()263 satırının çevresindeki yönteme bakarsanız app/code/core/Mage/CatalogInventory/Model/Stock/Item.php, yöntemin kendisine başvurduğunu fark edeceksiniz:

 Mage::getSingleton('cataloginventory/stock_status')
        ->assignProduct($product, $this->getStockId(), $this->getStockStatus());

Gelecek platformun çok-stoklu bir envanter sistemini idare edebilmesi için bahsettiğiniz gibi evet varsayıyorum.

Düzenleme: Cevabımı genişletmek için, Magento getStockId()yöntemi toplam 5 dosyada, yani:

  • app\code\core\Mage\CatalogInventory\Model\Observer.php 204. satırda,
  • app\code\core\Mage\CatalogInventory\Model\Indexer\Stock.php 37. satırda,
  • app\code\core\Mage\CatalogInventory\Model\Resource\Stock\Item.php 57. satırda,
  • app\code\core\Mage\CatalogInventory\Model\Stock\Item.php 167 ve 275. satırlarda ve son olarak
  • app\code\core\Mage\CatalogInventory\Model\Stock\Status.php 36, 191, 192, 265, 266 ve 376 satırlarında

Lütfen bunun Magento 1.7.0.2 itibariyle olduğunu unutmayın.


Fikriniz ve kod kazma sayesinde. Şüphelerimi doğruladın.
— Marius
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.