【发布时间】:2011-10-20 17:38:31
【问题描述】:
我想在一个简单的产品页面上显示所有捆绑包,因此需要检索信息。我搜索并尝试了很多。这篇文章听起来很有希望,但要么不起作用,要么可能不适合我的问题: Magento - get a list of bundled product ids from a product id
我找到了分组产品的解决方案,但这不能在这里应用。
$grouped_product_model = Mage::getModel('bundle/product_selection');
$groupedParentId = $grouped_product_model->getParentIdsByChild($product->getId());
我发现表 catalog_product_bundle_selection 是搜索的正确位置,但我想知道是否有一种干净的方法和现有功能可以通过 product_id 搜索此表,而不仅仅是破解它。
我在 Mage_Bundle 中没有找到解决方案。
我错过了什么?
从 vrnet 得到急救后,我写了一个新的块类,所以我可以更新布局
class Thomaier_Catalog_Block_Product_View_BundledSelect extends Mage_Catalog_Block_Product_View
{
protected $_simpleProducts = array( '3' ); // just an example
public function getBundles() {
$bundleIds = array();
$bundlesCollectionModel = Mage::getResourceModel('bundle/selection_collection');
$bundlesCollection = $bundlesCollectionModel->getSelect()
->where('`selection`.`product_id` in (' . join(',', (array)$this->_simpleProducts) . ')');
foreach ($bundlesCollection as $bundleItem) {
$bundleIds[] = $bundleItem->getParentProductId();
}
...
}
}
我跳过了一些部分。正如我在评论中提到的,当我在 phpmyadmin 中尝试 SQL 查询时,它运行良好,但是 $bundleItem 没有创建并且 ->load() 抛出异常。
感谢您的建议。
【问题讨论】:
标签: magento magento-1.4