gpt4 book ai didi

php - 为什么可配置产品和简单产品之间的关系会存储两次?

转载 作者:IT老高 更新时间:2023-10-28 23:43:57 29 4
gpt4 key购买 nike

在这里深入了解 Magento 内部结构,而不是寻找具体问题的解决方案,只是试图了解一些实现细节。

当您在 Magento 中创建可配置产品,然后创建子简单产品来实现衬衫尺寸、颜色等内容时,Magento 会将这种关系存储在两个单独的表中。

catalog_product_relation
catalog_product_superlink_table

为什么这些关系会被存储两次?

这是遗留代码,还是产品关系链接和产品“ super 链接”链接之间存在语义区别?

系统是否期望这些相同,或者让这些表表示不同的父/子关系是有效的对象状态?

最佳答案

为什么是个好问题。 catalog_product_super_link 表只包含与可配置产品相​​关的数据。除了可配置的关系之外,catalog_product_relation 还包含捆绑和分组产品的关系信息。

所有围绕可配置产品的业务逻辑都引用 catalog_product_super_* 表,例如查找可配置产品的可配置属性和价格更新。

相比之下,catalog_product_relation 表由不特定于可配置产品的类使用,例如抽象目录产品索引器类。

Magento 核心团队似乎不仅希望将逻辑上不同的功能分离到单独的 PHP 类中,而且还希望将它们分离到单独的数据库表中。可能的优势?我想从理论上讲,在不中断索引器实现的情况下,这种方式更容易更改可配置产品实现。

这只是一个猜测 - 我还没有证实或与“知道”的人交谈(mental-note-for-imagine)

关于php - 为什么可配置产品和简单产品之间的关系会存储两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8512170/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com