テーブルcataloginventory_stockの目的


10

デフォルトのMagentoバージョン1.0から1.8(ce)には、cataloginventory_stockレコードが1つだけ含まれるというテーブルがあることがわかります。

stock_id    stock_name
1           Default

これに関連して、Mage_CatalogInventory_Model_Stock_Itemモデルにはこのメソッドがあります

public function getStockId()
{
    return 1;
}

その上のコメント付き@todo multi stock

誰かがマルチストック機能を実装したいと思い、(他の多くの「機能」のように)しないことに決めたと思いますが、私にはわかりません。

だから私の質問は... この表に他の目的はありますか、それはコードの他のセクションに影響しますか、それとも新機能の開始点としてそこにありますか?


Magento 2がリリースされました。そのテーブルはまだそこにあり、役に立たない。
DucTM 2018

回答:


7

このテーブルのインデックスを見ると、当分の間、データベースへのスタンドアロンの追加として完全に機能しているように見えます。

assignProduct()263行目のメソッドを見るとapp/code/core/Mage/CatalogInventory/Model/Stock/Item.php、メソッド自体を参照していることがわかります。

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

あなたが言ったように、私は将来のプラットフォームがマルチストックの在庫システムを処理できるようになると思います。

編集:私の答えを拡張するために、Magento getStockId()は合計5つのファイルでメソッドを参照します:

  • app\code\core\Mage\CatalogInventory\Model\Observer.php 204行目、
  • app\code\core\Mage\CatalogInventory\Model\Indexer\Stock.php 37行目、
  • app\code\core\Mage\CatalogInventory\Model\Resource\Stock\Item.php 57行目、
  • app\code\core\Mage\CatalogInventory\Model\Stock\Item.php 167行目と275行目、そして最後に
  • app\code\core\Mage\CatalogInventory\Model\Stock\Status.php 36、191、192、265、266、376行目

これはMagento 1.7.0.2以降であることに注意してください。


あなたの意見とコードの掘り下げに感謝します。あなたは私の疑いを確認しました。
マリウス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.