Я хочу показать все пакеты на странице простого продукта, поэтому мне нужно получить информацию.Я искал и много пробовал.Это сообщение звучит многообещающе, но оно либо не работает, либо, возможно, не из-за моей проблемы: Magento - получить список связанных идентификаторов продуктов из идентификатора продукта
Я нашел решение для сгруппированных продуктов, ноэто не может быть применено здесь.
$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();
}
...
}
}
Я пропустил некоторые части.Как я упоминал в комментарии, SQL-запрос работает нормально, когда я пытаюсь выполнить его в phpmyadmin, но $ bundleItem не создается и -> load () выдает исключение.
Спасибо за совет.