Magento->;addAttributeToFilter-从集合中删除所选产品

Magento->;addAttributeToFilter-从集合中删除所选产品,magento,Magento,我希望在我的产品页面上制作一个简单的相关产品块,我们有大量的产品,所以目前使用upsells等后端条目并不可行 下面我有一些代码,可以通过使用“prod_Color”来选择类似的产品。因此,如果一个人正在观看米色的产品,它会返回该类别中所有米色的产品,然后随机选择4个来显示 <?php $thiscolour = $_helper->productAttribute($_product, $_product->getProd_colour(), 'prod_colour');

我希望在我的产品页面上制作一个简单的相关产品块,我们有大量的产品,所以目前使用upsells等后端条目并不可行

下面我有一些代码,可以通过使用“prod_Color”来选择类似的产品。因此,如果一个人正在观看米色的产品,它会返回该类别中所有米色的产品,然后随机选择4个来显示

<?php

$thiscolour = $_helper->productAttribute($_product, $_product->getProd_colour(), 'prod_colour');
$bestsellers=Mage::getModel('catalog/category')->load(3);
$collection=$bestsellers->getProductCollection();
$collection->addAttributeToFilter('prod_colour', $thiscolour);
$collection->addAttributeToSelect('small_image');
$collection->getSelect()->order(new Zend_Db_Expr('RAND()'));
$collection->getSelect()->limit(4);

?>

我只是想知道如何从集合中删除当前查看的产品-例如,如果我正在查看产品1,并且产品1、3、5、7都是相同的颜色,它会返回所有四个产品-我希望删除产品1,以便块仅显示产品3、5和7


谢谢你的阅读

您位于产品页面上,因此可以获取产品id,以便在产品集合上使用以下筛选条件

addAttributeToFilter('id', array('neq' => 'yourid'));

有关进一步的条件,您可以检查

是否要创建一个获取产品id的变量-然后在“yourid”所在的位置使用该变量?我已经尝试过$prodid=$\u helper->productAttribute($\u product,$\u product->getId(),'id');并在适当的位置添加了变量,但仍然没有更改!您可以直接输入您的id,无需定义变量,您也可以使用sku条件而不是id。是否可以通过变量执行此操作?正如所有产品都需要在自己的产品页面上删除它们自己一样——也感谢您的链接——我也尝试自己输入ID,但这仍然不能过滤掉产品!我还打印了查询-它显示为SELECT 1 as
status
e
实体id,
e
e
e
属性集id,
cat\u索引
位置as
cat\u索引位置
e
产品颜色,
e
small\u image
FROM
catalog\u product\u flat\u 1
AS
e
内部连接
catalog\u catalog\u product\u index
AS
cat\u index.product\u id=e.entity\u id和cat\u index.store\u id=1和cat\u index.catalog\u id='3',其中(e.prod\u color='9')按兰德()限制4您也可以使用没有问题的变量