2

I found lots of discussion regarding the issue. And the major solution for the issue is adding the line <action method="setColumnCount"><columns>5</columns></action> at the catalog.xml. I tried this, by writing the following code at local.xml,

    <catalog_category_default>
        <reference name="product_list">
            <action method="setColumnCount"><columns>5</columns></action>
        </reference>
    </catalog_category_default>
    <catalog_category_layered>
        <reference name="product_list">
            <action method="setColumnCount"><columns>2</columns></action>
        </reference>
    </catalog_category_layered>

At app/design/frontend/mytheme/default/template/catalog/product/list.phtml , i have added the following code for checking the number of columns,

$_columnCount = $this->getColumnCount();
    var_dump($_columnCount);

It given int(5) at the main site. But the products per row is not changing. I am using 1column.phtml for category page. catalog.xml,

 <catalog_category_layered translate="label">
        <label>Catalog Category (Anchor)</label>

       <reference name="left_first">

            <block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml">
                <block type="core/text_list" name="catalog.leftnav.state.renderers" as="state_renderers" />
            </block>
        </reference>


        <reference name="content">
            <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
                <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
                    <block type="core/text_list" name="product_list.name.after" as="name.after" />
                    <block type="core/text_list" name="product_list.after" as="after" />
                    <!-- <action method="addReviewSummaryTemplate"><type>default</type><template>review/helper/su.phtml</template></action> -->
                    <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
                        <block type="page/html_pager" name="product_list_toolbar_pager"/>
                        <!-- The following code shows how to set your own pager increments -->
                        <!--
                            <action method="setDefaultListPerPage"><limit>4</limit></action>
                            <action method="setDefaultGridPerPage"><limit>3</limit></action>
                            <action method="addPagerLimit"><mode>list</mode><limit>2</limit></action>
                            <action method="addPagerLimit"><mode>list</mode><limit>4</limit></action>
                            <action method="addPagerLimit"><mode>list</mode><limit>6</limit></action>
                            <action method="addPagerLimit"><mode>list</mode><limit>8</limit></action>
                            <action method="addPagerLimit" translate="label"><mode>list</mode><limit>all</limit><label>All</label></action>
                            <action method="addPagerLimit"><mode>grid</mode><limit>3</limit></action>
                            <action method="addPagerLimit"><mode>grid</mode><limit>6</limit></action>
                            <action method="addPagerLimit"><mode>grid</mode><limit>9</limit></action>
                            <action method="addPagerLimit" translate="label"><mode>grid</mode><limit>all</limit><label>All</label></action>
                        -->
                    </block>
                    <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
                    <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
                    <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
                    <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
                    <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
                    <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
                    <!-- Since the addColumnCountLayoutDepend does not work, we are manually setting the max columns -->
                    <action method="setColumnCount"><count>4</count></action>
                </block>
            </block>
        </reference>
    </catalog_category_layered>

list.phtml:

<?php // Grid Mode ?>

    <?php $_collectionSize = $_productCollection->count() ?>
    <?php $_columnCount = 5; ?>

    <ul class="products-grid row products-grid-max-<?php echo $_columnCount; ?>-col">
        <?php $i=0; foreach ($_productCollection as $_product): ?>
            <?php $i++; /*if ($i++%$_columnCount==0): ?>
            <?php endif*/ ?>
            <li class="col-lg-4 col-md-4 col-sm-6 col-xs-6 col-mobile-12 item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>">
                <div class="category-products-grid">

                    <div class="images-container">
                            <?php echo $helpLabels->getLabels($_product); //Product labels ?>
                            <?php //var_dump($_product); ?>
                             <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image quickview">
                                <img id="product-collection-image-<?php echo $_product->getId(); ?>" class="img-responsive" src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize($width , $height); ?>" width="<?php echo $width ?>" height="<?php echo $height ?>"
                                     alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" />
                             </a>
                             <div class="link-view"> 
                                <a title="<?php echo $this->__('Quick View') ?>" href="<?php echo $this->getUrl('magicshop/quickview/view') .'id/'.$_product->getId()?>" class="link-quickview"><i class="fa fa-search"></i><?php //echo $this->__('Quick View') ?>
                                </a>
                            </div>
                        <div class="actions-no">
                            <div class="actions">
                                <?php if($_product->isSaleable()): ?>
                                    <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><i class="fa fa-shopping-cart"></i><span><?php echo $this->__('Add to Cart') ?></span></span></button>
                                <?php else: ?>
                                    <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
                                <?php endif; ?>
                                <ul class="add-to-links">
                                    <?php if ($this->helper('wishlist')->isAllow()) : ?>
                                        <li class=""><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><i class="fa fa fa-heart-o"></i><?php //echo $this->__('Add to Wishlist') ?></a></li>
                                    <?php endif; ?>
                                    <?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?>
                                        <li class=""><a href="<?php echo $_compareUrl ?>" class="link-compare"><i class="fa fa-signal"></i><?php //echo $this->__('Add to Compare') ?></a></li>
                                    <?php endif; ?>
                                </ul>
                            </div>
                        </div>
                    </div>

                    <div class="product-info products-textlink clearfix">
                        <h2 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></a></h2>
                        <?php
                        // Provides extra blocks on which to hang some features for products in the list
                        // Features providing UI elements targeting this block will display directly below the product name
                        if ($this->getChild('name.after')) {
                            $_nameAfterChildren = $this->getChild('name.after')->getSortedChildren();
                            foreach ($_nameAfterChildren as $_nameAfterChildName) {
                                $_nameAfterChild = $this->getChild('name.after')->getChild($_nameAfterChildName);
                                $_nameAfterChild->setProduct($_product);
                                echo $_nameAfterChild->toHtml();
                            }
                        }
                        ?>
                        <?php echo $this->getPriceHtml($_product, true) ?>
                    </div>
                </div>
            </li>
            <?php /*if ($i%$_columnCount==0 || $i==$_collectionSize): ?>
            <?php endif*/ ?>
        <?php endforeach ?>
    </ul>
    <script type="text/javascript">decorateGeneric($$('ul.products-grid'), ['odd','even','first','last'])</script>

I hope someone will help on this issue, Thanks

2 Answers 2

3

in list.phtml under grid use below mention code

<?php // Grid Mode ?>

    <?php $_collectionSize = $_productCollection->count() ?>
   <?php $_columnCount = 5; ?>
5
  • Thanks for the answer @Manoj kothari, No change
    – Gayathri
    Aug 12, 2015 at 7:01
  • 1
    send me list.phtml code
    – Magento 2
    Aug 12, 2015 at 7:11
  • see my edited question @Manoj kotari, I added list.phtml grid functions
    – Gayathri
    Aug 12, 2015 at 7:25
  • hey you are using boostrub <li class="col-lg-4 col-md-4 col-sm-6 col-xs-6 col-mobile-12 item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>">
    – Magento 2
    Aug 12, 2015 at 7:41
  • You jus change based on screen resolvation
    – Magento 2
    Aug 12, 2015 at 7:41
1

it worked for me go to app/design/frontend/your theme/default/template/catalog/product/list.phtml

add

else
{
    $_columnCount = 3; 
}  

<?php // Grid Mode ?>

<?php $_collectionSize = $_productCollection->count() ?>

<?php $_columnCount = Mage::getStoreConfig('ovansport_cfg/general/Count_colunm_listing');
if($_GET['prorow']) {
    $_columnCount=$_GET['prorow'];
} else {
    $_columnCount = 3; 
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.