问题
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 } ?>
来源:https://stackoverflow.com/questions/6748730/magento-product-listing-by-category-id