Magento 2.2:可配置产品缺少属性的子产品

Magento 2.2: Child product of Configurable product missing attributes

当我检查常规产品的 $product->getData() 的内容时,我在管理中设置的所有属性似乎都在那里。但是当我检查可配置产品中子产品的 $product->getData() 的内容时,管理员中设置的许多值似乎都丢失了。

有什么明显的我遗漏的东西吗?

对于产品 class,我指的是 \Magento\Catalog\Model\Product。

编辑:如果我让子产品单独可见并导航到它的页面,我可以看到它的所有属性都已加载。相比之下,当我获得所有子产品的列表时(classes 似乎不包含我在管理员中设置的所有属性),这就是我从 class 覆盖 \Magento\Swatches\Block\Product\Renderer\Configurable:

$this->getProduct()->getTypeInstance()->getUsedProducts($this->getProduct())

我猜当产品 classes 以这种方式实例化时会发生一些不同的事情,这导致了我的问题。

请原谅我的幼稚。我对 Magento 还是很陌生,正在努力寻找解决方法。谢谢!

经过大量挖掘,我在 Configurable Product 模型中找到了这个函数定义:

public function getUsedProducts($product, $requiredAttributeIds = null)

看来我必须传入所需的属性 ID 才能加载我稍后尝试在模板中读取的数据。