在我的训练期间,我完全从Magento开始。我已经在一个项目上工作了两个星期,有时我不知道如何继续下去。
我将尝试表示我的类别树:
- accessories
* visors
* communication systems
* other
- helmets
* a lot of subcategories and subcategories...我的实际问题是:我属于配置子类别中的一个(例如,visors)。我添加了一个带有select的表单,允许选择头盔型号。提交select时,我希望显示与所选头盔模型(实际上是一个virtual product)相关的visors列表。
我可以获得当前类别ID (在本例中为visors)和虚拟产品ID (因此是头盔型号)。但是我不知道如何同时按产品ID和类别ID来显示相关产品。
我试过这样的东西:
$relatedProducts = Mage::getModel('catalog/product_link')
->getCollection()
->addCategoryFilter($myCurrentCat)
->addFieldToFilter('product_id',$myVirtualProductId)
->addFieldToFilter('link_type_id','1');但它似乎不起作用。
欢迎任何帮助。谢谢。
编辑:在我问了这个问题10天后,我仍然不知道如何解决我的问题。如果有人能帮上忙,哪怕只是一点点线索...
发布于 2013-04-16 20:35:39
实际上,我刚刚自己解决了我的问题。
这是我的解决方案,如果它能在未来帮助任何人:
$mainProduct = Mage::getModel('catalog/category')->load($myCurrentCat->getId());
$mainProduct = $mainProduct->getProductCollection();
$mainProduct = $mainProduct->addAttributeToFilter('product_id', $myVirtualProductId);
foreach ($mainProduct as $product) {
$related = $product->getRelatedProductIds();
if ($this->array_contains($related, $myVirtualProductId)) {
//TODO
}
}发布于 2013-04-09 17:21:43
我现在不能测试它,但你可以尝试这样做:
$collection = Mage::getSingleton('catalog/product_link')
->useRelatedLinks()
->getProductCollection()
->setIsStrongMode();
$product = Mage::getModel('catalog/product')->load($productId);
$collection->setProduct($product);
$collection->addCategoryFilter($category); //I'm not sure if this will work correctly当我有更多的时间时,我会测试它。
https://stackoverflow.com/questions/15683491
复制相似问题