2014-01-27 65 views
0

希望有人能帮助我。Magento show相关产品php代码

我正在尝试做的,是显示相关的产品,当你登陆一个产品页面上。

比方说:

我有一个categori,名称是计算机。在那个计算机类别中,我有3款产品是宏基笔记本电脑,惠普笔记本电脑和Apple MacBook Air。

如果我的客户点击的MAC - 我怎样才能然后显示相关的产品? (如宏基和惠普笔记本电脑)。

我不想编辑catelog.xml - 媒体链接tryed的是,whitout任何运气。

我媒体链接了索姆PHP文件 - 它的工作排序的,但是当产品页面的一个客户的土地,他们也看到了产品,他们正在阅读 - 我该如何去除列表中的当前产品?

<?php 
     $currentCategoryId = Mage::getModel('catalog/layer')->getCurrentCategory()->getId(); 
     $product_id = $this->getProduct()->getId(); 

     echo $product_id; 

     $categoryid = $currentCategoryId; 

     $category = new Mage_Catalog_Model_Category(); 
     $category->load($categoryid); 
     $collection = $category->getProductCollection(); 
     $collection->addAttributeToSelect('*'); 

     foreach ($collection as $_product) { ?> 

      <a href="<?php echo $_product->getProductUrl(); ?>"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(200); ?>" width="200" height="200" alt="" /></a> <a href="<?php echo $_product->getProductUrl(); ?>"><?php echo $_product->getName(); ?></a> 

    <?php } ?> 

它从整个类别中获取所有产品,然后将其显示在当前产品页面上。 我真的很希望有人能帮助我。

回答

0

你可以通过使用过滤器

... 
$collection->addAttributeToSelect('*'); 
$collection->addAttributeToFilter('entity_id', array('neq', $product_id)); 

2)尽量

1)if语句筛选出ID

.... 
foreach ($collection as $_product) { ?> 
    <?php if($_product->getId() != $product_id) : ?> 
     <a href="<?php echo $_product->getProductUrl(); ?>">...</a> 
    <?php endif;?> 
<?php } ?> 
+0

完美!它只是工作。非常感谢。 – user2300998

-1

可以在view.phtml

使用它像这样
$related_prods = $_product->getRelatedProductIds() 

FO达到($ related_prods为$相关)

{

$ _rel =法师:: getModel( '目录/产品') - >负载($相关);

回声$ _rel->的getName()。 “”。 $ _rel-> getSku();

}

+0

这是复制和从其他地方(http://magento.stackexchange.com/questions/3177/showing-related-products-in-product-view-page),粘贴在原作者承认,这是一个可怕的实现。 – shmuli

相关问题