gre*_*dev 17 php magento magento-1.4
我需要从简单的产品中获取父可配置产品,即使父产品被标记为已禁用.我还需要获取可配置产品的状态(启用或禁用).
现在我得到这样的父产品:
$parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
if (isset($parentIds[0])) {
$product = Mage::getModel('catalog/product')->load($parentIds[0]);
}
Run Code Online (Sandbox Code Playgroud)
除非已禁用可配置产品,否则$ parentIds数组为空,这非常有效.即使它已被禁用,我也需要获取可配置产品,并确定是否启用/禁用了可配置产品.
任何帮助,将不胜感激!
Nei*_*ken 33
我做了一点挖掘,我似乎无法重现你的问题.
当我在一个禁用可配置的简单上调用getParentIdsByChild()时,我仍然可以获得父产品ID.
$parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')
->getParentIdsByChild(14412);
var_dump($parentIds);
Run Code Online (Sandbox Code Playgroud)
给我:
array(1) {
[0]=>
string(5) "14446"
}
Run Code Online (Sandbox Code Playgroud)
14446具有禁用状态.我也尝试过库存和缺货.
查看资源文件的实际功能
Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Type_Configurable::getParentIdsByChild()
Run Code Online (Sandbox Code Playgroud)
我可以看到它在表catalog_product_super_link
中看起来没有任何状态字段,因此如果产品链接存在,应该始终返回父ID.