我正在尝试在Magento(1.8社区版)中构建一个块
在这个区块中,我想分开子类别
让我们说父母是电动工具
它有3个子类别
锯 路由器 钻
所以结果将是这样的......
电动工具 锯 路由器 钻
我将父类别设置为显示一个块,而我现有的代码将显示子类别。我得到子类别输出以及它们的包装div以及指向corret子类别页面的链接,但产品列在里面......没有快乐!
到目前为止,我已将此代码用于代码......
<?php
$category = Mage::getSingleton('catalog/layer')->getCurrentCategory();
$categories = $category->getCollection()
->addAttributeToSelect(array('name', 'thumbnail'))
->addAttributeToFilter('is_active', 1)
->addIdFilter($category->getChildren())
?>
<div class="" style="width: 90%; float:right;margin-right: 5%;">
<?php foreach ($categories as $category): ?>
<div class="col-xs-12" style="border: 2px dotted #3t6; font-size: 2em; margin:1em 0;">
<a href="<?php echo $category->getUrl() ?>"><img src="<?php echo Mage::getBaseUrl('media') . 'catalog' . DS . 'category' . DS . $category->getThumbnail() ?>" alt="<?php echo $this->htmlEscape($category->getName()) ?>" /></a>
</div>
<div class="col-xs-12" style="height:200px; border: 1px solid #333;">
<h1>test this</h1>
<?php
$parent_cat = Mage::getModel('catalog/layer')->getCurrentCategory();
$_productCollection = $this->getLoadedProductCollection();
$_helper = $this->helper('catalog/output');
?>
<?php echo $parent_cat->getid() ; ?>//this shows the correct id
<?php foreach ($_productCollection as $_product): ?>// start individual products for the sub category
<?php $_productNameStripped = $this->stripTags($_product->getName(), null, true); ?>
<h1><?php echo $_helper->productAttribute($_product, $_product->getName() , 'name'); ?></
<?php endforeach; ?>// end product loop for the individual products
</div>
<?php endforeach; ?>
</div>
所以我认为$ this-&gt;可能正在引用外部循环的前一个调用(不确定是否有意义)所以我尝试了这样的事情......
<?php
$parent_cat = Mage::getModel('catalog/layer')->getCurrentCategory();
$_productCollection = $parent_cat->getLoadedProductCollection();
$_helper = $this->helper('catalog/output');
?>
没有错误,但仍然没有快乐。
我是Magento中的新手,所以我在这里完全啰嗦,如果有人能让我直截了当地说出我做错了什么,我会很喜欢。
谢谢!
答案 0 :(得分:0)
所以挖掘我发现一些对我有用的东西,仍然不确定这是否是最好的方法,但对于新手而言似乎运作良好。
对于亚当·莫斯(Adam Moss)在堆叠上的另一篇文章中给出的回答Magento Product Listing by Category ID
我唯一做的就是使用$ category-getId();拉入适当的Cat id,以便子类别拉出适当的产品系列!真棒!
<?php
$categoryid = $category->getId();
$category = new Mage_Catalog_Model_Category();
$category->load($categoryid);
$collection = $category->getProductCollection();
$collection->addAttributeToSelect('*');
foreach ($collection as $_product) { ?>
<?php
// do stuff here, like...
echo $_product->getShortDescription();
?>
<?php } ?>