วัตถุประสงค์ของตารางแคตตาล็อกสินค้าคงคลัง _ สต็อค


10

ฉันเห็นว่าใน Magento เวอร์ชันเริ่มต้น 1.0 ถึง 1.8 (ce) มีตารางที่เรียกcataloginventory_stockว่ามีเพียงหนึ่งระเบียน

stock_id    stock_name
1           Default

เกี่ยวข้องกับสิ่งนี้ในMage_CatalogInventory_Model_Stock_Itemโมเดลมีวิธีนี้

public function getStockId()
{
    return 1;
}

@todo multi stockกับความคิดเห็นข้างต้นนั้น

ฉันเดาว่ามีคนต้องการใช้ฟังก์ชั่นหลายหุ้นและตัดสินใจที่จะไม่ (เช่น "คุณสมบัติ" อื่น ๆ อีกมากมาย) แต่ฉันไม่แน่ใจ

ดังนั้นคำถามของฉันคือ ... มีจุดประสงค์อื่นในตารางนี้หรือไม่จะมีผลกับส่วนอื่น ๆ ของรหัสหรือเป็นเพียงจุดเริ่มต้นสำหรับคุณลักษณะใหม่หรือไม่


Magento 2 ได้เปิดตัวแล้ว ตารางนั้นยังคงอยู่และไม่มีประโยชน์
DucTM

คำตอบ:


7

เมื่อดูที่ดัชนีของตารางนี้ดูเหมือนว่าจะทำงานได้อย่างสมบูรณ์เป็นส่วนเสริมแบบสแตนด์อโลนกับฐานข้อมูลในขณะนี้

หากคุณดูassignProduct()วิธีรอบ ๆ บรรทัดที่ 263 app/code/core/Mage/CatalogInventory/Model/Stock/Item.phpคุณจะสังเกตเห็นว่ามันอ้างอิงถึงวิธีการนั้น:

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

ฉันสมมติว่าใช่ดังที่คุณกล่าวไว้สำหรับแพลตฟอร์มในอนาคตที่จะสามารถจัดการกับระบบสินค้าคงคลังที่มีหลายสต็อกได้

แก้ไข:เพื่อขยายคำตอบของฉันวีโอไอพีอ้างอิงถึง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


ขอบคุณสำหรับความคิดเห็นของคุณและรหัสการขุด คุณเพิ่งยืนยันข้อสงสัยของฉัน
Marius
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.