2014-01-27 2 views
0

Надеюсь, кто-то может помочь мне здесь.Magento показать родственные продукты php code

Что я пытаюсь сделать, это показать связанные продукты, когда вы приземляетесь на страницу продуктов.

Скажем:

У меня есть categori, имя компьютера. В этой категории компьютеров у меня есть 3 продукта: ноутбук Acer, ноутбук HP и компьютер Apple MacBook.

Если мой клиент нажимает на mac - как я могу показать связанные продукты? (например, Acer и ноутбук HP).

Я не хочу редактировать catelog.xml - все уже пробовал это, без всякой удачи.

Я Allready получил сом 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

Вы можете попробовать

1) с использованием фильтра

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

2), используя, если заявление, чтобы отфильтровать идентификатор

.... 
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() 

f oreach ($ related_prods как $, связанные с)

{

$ _rel = Mage :: getModel (/ Каталог продукции ') -> нагрузки ($ связанные);

echo $ _rel-> getName(). "". $ _rel-> getSku();

+0

Это копия и вставка из другого места (http://magento.stackexchange.com/questions/3177/showing-related-products-in-product-view-page), где автор оригинала признает, что это ужасная реализация , – shmuli

Смежные вопросы