Magento Product Listing by Category ID

2019-02-20 14:28发布

问题:

I have a magento (1.5) store and a wordpress (3.2) blog.

The wordpress blogs acts as the main site and the home-page index.

Using Mage-Enabler, I have integrated wordpress and magento together and I am able to pull the checkout block, quick links and all the files.

My question is that I would like to display the top-sellers categories on the home-page. I would usually do this with the XML in the CMS. e.g.

{{block type="catalog/product_list" category_id="your_category_id" template="catalog/product/list.phtml"}} 

But this is not possible in this instance as the store home-page is not seen e.g when a user clicks on the shop-online button on the navigation it takes them onto the category lander page showing all the categories and a search.

My logic has lead me to do this via PHP e.g

<?php

$categoryId = 123; // a category id that you can get from admin
$category = Mage::getModel('catalog/category')->load($category_Id);

?>

... this would be inside a copy of the product > list.phtml page.

Is this possible to pull products in a list via a specfic category via PHP templates rather than the block types XML in the admin?

Thanks

Cameron

回答1:

This oughtta do what you need:

<?php

$categoryid = 12;

$category = Mage::getModel('catalog/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 } ?>