如何按列显示 magento 产品类别

How to display magento product categories in column wise

我想在主标题下显示所有类别,所以我想在每列中显示四个类别。下面是我的代码

<?php
    $_category  = $this->getCurrentCategory();
    $collection = Mage::getModel('catalog/category')->getCategories($_category->entity_id);
    $helper     = Mage::helper('catalog/category');
?>
<ul class="pull-left">
<?php foreach ($collection as $cat):?>
    <li>
       <a style="color:#fff;" href="<?php echo $helper->getCategoryUrl($cat);?>">
          <cite><?php echo $cat->getName();?><?php
 ?></cite>
        </a>
    </li>
<?php endforeach;?>
</ul>

HTML输出

<ul class="pull-left">
    <li>....</li>
    <li>....</li>
    <li>....</li>
    <li>....</li>
    <li>....</li>
    <li>....</li>
    <li>....</li>
    <li>....</li>
    .
    .
    .
    .
</ul>

我想在每个 ul 中定义四个 li 项目。像这样

<ul class="pull-left">
    <li>...</li>
    <li>...</li>
    <li>...</li>
    <li>...</li>
</ul>
<ul class="pull-left">
    <li>...</li>
    <li>...</li>
    <li>...</li>
    <li>...</li>
</ul>

我也想显示产品数量,我试过了

<?php 
    $products_count = Mage::getModel('catalog/category')->load($categoryId)->getProductCount();
?>

但它不起作用。

请使用这个。

ul,li可以随意调整。现在这将在一行中列出四个子类别。

此代码将为您提供父类别的子类别。

<?php 

$loadCategory = Mage::registry('current_category');
//echo 'loadCategory = '.$_categoryID = $loadCategory->getId();

$subCategories = explode(',', $loadCategory->getChildren());
?>

<ul class="pull-left">


<?php $i=1;
    foreach ( $subCategories as $subCategoryId )
    {
        $cat = Mage::getModel('catalog/category')->load($subCategoryId);

        if($cat->getIsActive())
        {
            if($cat->getImageUrl())
            {
            //echo '<a href="'.$cat->getURL().'">'.$cat->getName().'</a></br>';
            echo '<li>';




                echo '<a style="color:#fff;" href="'.$cat->getUrl().'">'.$this->escapeHtml($cat->getName()).'</a>';

            echo '</li>';

            if($i%4==0)
            {
                echo'</ul><ul class="pull-left">';
            }

            }

        }
        $i++;
    }  

?>

</ul>

请使用此代码。这一定对你有用。

<?php
$category = Mage::getModel('catalog/category')->load($categoryID);

echo $total = Mage::getModel('catalog/layer')->setCurrentCategory($category)->getProductCollection()->getSize();

?>

谢谢,

我在我的类别页面上使用此代码,它正在计数。 请看一下我在标签前添加的代码。

<?php 

$loadCategory = Mage::registry('current_category');
//echo 'loadCategory = '.$_categoryID = $loadCategory->getId();

$subCategories = explode(',', $loadCategory->getChildren());
?>

<ul class="pull-left">


<?php $i=1;
    foreach ( $subCategories as $subCategoryId )
    {
        $cat = Mage::getModel('catalog/category')->load($subCategoryId);

        if($cat->getIsActive())
        {
            if($cat->getImageUrl())
            {
                //echo '<a href="'.$cat->getURL().'">'.$cat->getName().'</a></br>';
                echo '<li>';

                echo '<a style="color:#fff;" href="'.$cat->getUrl().'">'.$this->escapeHtml($cat->getName()); echo"<br>";
                echo $total = Mage::getModel('catalog/layer')->setCurrentCategory($subCategoryId)->getProductCollection()->getSize();
                echo'</a>';
                echo '</li>';

            if($i%4==0)
            {
                echo'</ul><ul class="pull-left">';
            }

            }

        }
        $i++;
    }  

?>