Magento product page : how to display other products from same category

Magento comes with a lot of product relationship features :  implemented as selective lists maintained for each product by the shop owner, related / cross selling and up selling backend features allow some sort of manual product linking that displays product associations on the front end. For example related products are displayed by default in the product page right column, while upsell / crosssell products are displayed on the shopping cart page. These 3 types of product associations are well explained on inchoo’s blog, and  on magento ‘s knowledge base you’ll find user instructions on how to setup   product relationship in the backend.

What we aim here is to setup an automatic  display of related products on a product view page, via the categories they belong to. We build two loops : one that gets categories the product belongs to, and another one inside that gets products of each category.

How to setup category related products in Product view :

  1. add the following code somewhere in default\template\catalog\product\view.phtml
  2. Configure the category query according to your catalog by uncommenting the following :
    • ->setPage(1, 1) : selects only one category
    • ->addFieldToFilter(‘level’,”3″) : selects only 3rd level categories
    • ->addFieldToFilter(‘parent_id’,”3″) : select only child categories of no 3
    • ->setOrder(“level”) : combined by setPage, returns the lowest level category
  3. please that the product loop uses the $_product variable, which can be dangerous because this name is widely used. We use it here for comodity reasons because I just took toe display code from Magento’s product list view

19 comments on “Magento product page : how to display other products from same category
  1. ?????? says:

    Gredit job,I use this code in my site magento 1.5,and everything is good.

  2. Saurabh says:

    Hello Paul,
    Can you help me…
    I need to display all enabled product in category view page in Magento.

    Thanks

  3. vignesh says:

    I have to show only enabled product. it shows all the products

  4. Danny says:

    Great! Really great! Even works in Magento 1.5. Thank you!

  5. Pranav says:

    I want to show bestseller or most viewed products at the below part on the product view page, can anybody please help ?

  6. gggggggg says:

    Can anyone confirm if this works with 1.4.1.1 ?

  7. pankaj says:

    I want to show only “in stock” products on one page & both “in stock” and “out of stock” products on other page from same category. How can i do that…? Please help me on this. Its really an urgent. Waiting for your positive reply.

  8. onionlips says:

    Gave me the direction I needed … thanks!

  9. Matt says:

    This is great code. How would you display the category products with same manufacturer?

    Thanks!

  10. Deter says:

    If you want to get random products from same category, put at line 21 this code:

    $products->getSelect()->order(‘rand()’);

  11. saphia says:

    In magento how to show product category in the admin with product listing

  12. admin says:

    hi nigel, common magento query limit statement : add the following to line 21, should do the job

    $products->getSelect()->limit(4)

  13. nigel says:

    also to help anyone who may have issues – check the code for any errant formatting after pasting the code – specifically check where the ‘ are supposed to be in areas like
    __(‘Out of stock’) ?>

  14. nigel says:

    hi i have teh code installed and working, but i have a large number of products per category and as a result it takes a while to load. Do you know how to limit the query to say pick out 4 items and return those

  15. admin says:

    @HOW : you have to paste this code after the existing code in view.phtml

  16. How? says:

    How shall this work out, when I only paste the code above into the view.phtml there is the opening tag <?php missing, so I would definitely cause a php error as the last on that page is a closing tag. So, I added the missing php tag before the code right after the last div of the page and the whole product page disappears. I do not know what version you worked with, this is still with 1.2.1.2 and a custom template, but this should also work in any custom view phtml but sadly does not.

  17. Justin says:

    This works great, except for the fact that it breaks the actual product page you’re on. All the products now share the same name (But they all have their correct title tag and description…), and they all have the same add to cart link.

    Halfway there!

    • admin says:

      Well I don’t experience that bug : are you sure you put the code at the bottom of category/product/view.phtml

      otherwise make sure you don’t mix the $_product page variables with the new loop that also uses $_product variables : if you’re not lazy like I am just change the variable name inside the loop and that might solve what looks like a variable name issue

  18. admin says:

    Hi, this is not very hard but requires you to follow the tutorial here

    http://www.webmasterbulletin.net/2008/12/how-to-install-magento-free-themes/564

    let me know how it goes, is your site public yet ?

1 Pings/Trackbacks for "Magento product page : how to display other products from same category"

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

pubMagentoEditLink