cancel
Showing results for 
Search instead for 
Did you mean: 

Magento 1.9 - How to set PLP Page Sort By Ascending order in back-end?

SOLVED

Magento 1.9 - How to set PLP Page Sort By Ascending order in back-end?

How to set sort by position Ascending order by default in the backend.

 

Screenshot : https://snipboard.io/hGXTQM.jpg

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Magento 1.9 - How to set PLP Page Sort By Ascending order in back-end?

Hi @Aveeva 

Try the below solution once. There is no need to more customization. In theme's local.xml file.

https://magento.stackexchange.com/a/10306

<?xml version="1.0"?>
<layout version="0.1.0">
    <!-- Change default direction for simple searches -->
    <catalogsearch_result_index>
        <reference name="search_result_list">
            <action method="setDefaultDirection"><dir>asc</dir></action>
        </reference>
    </catalogsearch_result_index>

    <!-- Change default direction for advanced searches -->
    <catalogsearch_advanced_result>
        <reference name="search_result_list">
            <action method="setDefaultDirection"><dir>asc</dir></action>
        </reference>
    </catalogsearch_advanced_result>

    <!-- Change default direction for a category without layered navigation -->
    <catalog_category_default>
        <reference name="product_list">
            <action method="setDefaultDirection"><dir>asc</dir></action>
        </reference>
    </catalog_category_default>

    <!-- Change default direction for a category with layered navigation -->
    <catalog_category_layered>
        <reference name="product_list">
            <action method="setDefaultDirection"><dir>asc</dir></action>
        </reference>
    </catalog_category_layered>

 </layout>



I hope it will help you!

View solution in original post

7 REPLIES 7

Re: Magento 1.9 - How to set PLP Page Sort By Ascending order in back-end?

Hi @Aveeva 

There is not any by-default configuration in magento admin for set ASC or DESC by default.

You can change in the following file

For your requirement you need to change the code into this file:

Magento Root -> App -> Design -> Frontend -> [YOUR THEME] ->template-> Catalog -> Product -> List -> Toolbar.phtml

Or you can follow below solution.
https://magento.stackexchange.com/a/10306

I hope it will help you!

Re: Magento 1.9 - How to set PLP Page Sort By Ascending order in back-end?

@Vimal Kumar  Following is my code :

 

<?php
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category    design
 * @package     base_default
 * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */
?>
<?php
/**
 * Product list toolbar
 *
 * @see Mage_Catalog_Block_Product_List_Toolbar
 */
?>
<?php if($this->getCollection()->getSize()): ?>
<div class="toolbar">
    <div class="pager">
        <p class="amount">
            <?php if($this->getLastPageNum()>1): ?>
                <?php echo $this->__('Items %s to %s of %s total', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
            <?php else: ?>
                <strong><?php echo $this->__('%s Item(s)', $this->getTotalNum()) ?></strong>
            <?php endif; ?>
        </p>
 <div class="limiter">
            <label><?php echo $this->__('Show') ?></label>
            <select onchange="setLocation(this.value)">
            <?php foreach ($this->getAvailableLimit() as  $_key=>$_limit): ?>
                <option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if($this->isCurrent($_key)): ?> selected="selected"<?php endif ?>>
                    <?php echo $_limit ?>
                </option>
            <?php endforeach; ?>
            </select> <?php //echo $this->__('per page') ?>
        </div>

        <?php echo $this->getPagerHtml() ?>

    </div>

    <?php if( $this->is expanded() ): ?>
    <div class="sorter">
        <?php if( $this->isEnabledViewSwitcher() ): ?>
        <p class="view-mode">
            <?php $_modes = $this->getModes(); ?>
            <?php if($_modes && count($_modes)>1): ?>
            <label><?php echo $this->__('View as') ?>:</label>
            <?php foreach ($this->getModes() as $_code=>$_label): ?>
                <?php if($this->isModeActive($_code)): ?>
                    <strong title="<?php echo $_label ?>" class="<?php echo strtolower($_code); ?>"><?php echo $_label ?></strong>&nbsp;
                <?php else: ?>
                    <a href="<?php echo $this->getModeUrl($_code) ?>" title="<?php echo $_label ?>" class="<?php echo strtolower($_code); ?>"><?php echo $_label ?></a>&nbsp;
                <?php endif; ?>
            <?php endforeach; ?>
            <?php endif; ?>
        </p>
        <?php endif; ?>
    
        <div class="sort-by">
			<div class="right">
				<?php if($this->getCurrentDirection() == 'desc'): ?>
					<a class="fa fa-arrow-down" href="<?php echo $this->getOrderUrl(null, 'asc') ?>" title="<?php echo $this->__('Set Ascending Direction') ?>"><!-- <img src="<?php echo $this->getSkinUrl('images/i_desc_arrow.gif') ?>" alt="<?php echo $this->__('Set Ascending Direction') ?>" class="v-middle" /> --></a>
				<?php else: ?>
					<a class="fa fa-arrow-up" href="<?php echo $this->getOrderUrl(null, 'desc') ?>" title="<?php echo $this->__('Set Descending Direction') ?>"><!-- <img src="<?php echo $this->getSkinUrl('images/i_asc_arrow.gif') ?>" alt="<?php echo $this->__('Set Descending Direction') ?>" class="v-middle" /> --></a>
				<?php endif; ?>
			</div>
            <label><?php echo $this->__('Sort By') ?></label>
            <select onchange="setLocation(this.value)">
            <?php foreach($this->getAvailableOrders() as $_key=>$_order): ?>
			
              <!--  <option value="<?php echo $this->getOrderUrl($_key, 'asc') ?>"<?php if($this->isOrderCurrent($_key)): ?> selected="selected"<?php endif; ?>>
                    <?php echo $this->__($_order) ?>
                </option> -->
				
				
				<!--  start custom code     -->
				
				
				<?php if ($_order != 'Price'): ?>
<option value="<?php echo $this->getOrderUrl($_key, 'desc') ?>"<?php if($this->isOrderCurrent($_key)): ?> selected="selected"<?php endif; ?>>
    <?php echo $this->__($_order) ?>
</option>
<?php else: ?>

<option value="<?php echo $this->getOrderUrl($_key, 'asc') ?>"<?php if($this->isOrderCurrent($_key) && $this->getCurrentDirection() == 'asc'): ?> selected="selected"<?php endif; ?>>
    <?php echo $this->__($_order) . ': Low to High' ?>
</option> 

<option value="<?php echo $this->getOrderUrl($_key, 'desc') ?>"<?php if($this->isOrderCurrent($_key) && $this->getCurrentDirection() == 'desc'): ?> selected="selected"<?php endif; ?>>
    <?php echo $this->__($_order) . ': High to Low' ?>
</option> 

<?php endif; ?>
				
				
				
					<!--  end custom code     -->
				
				
            <?php endforeach; ?>
            </select>
        </div>
    </div>
    <?php endif; ?>
</div>
<?php endif ?>

How to alter my code for ASC?

Re: Magento 1.9 - How to set PLP Page Sort By Ascending order in back-end?

Hi @Aveeva 

Try the below solution once. There is no need to more customization. In theme's local.xml file.

https://magento.stackexchange.com/a/10306

<?xml version="1.0"?>
<layout version="0.1.0">
    <!-- Change default direction for simple searches -->
    <catalogsearch_result_index>
        <reference name="search_result_list">
            <action method="setDefaultDirection"><dir>asc</dir></action>
        </reference>
    </catalogsearch_result_index>

    <!-- Change default direction for advanced searches -->
    <catalogsearch_advanced_result>
        <reference name="search_result_list">
            <action method="setDefaultDirection"><dir>asc</dir></action>
        </reference>
    </catalogsearch_advanced_result>

    <!-- Change default direction for a category without layered navigation -->
    <catalog_category_default>
        <reference name="product_list">
            <action method="setDefaultDirection"><dir>asc</dir></action>
        </reference>
    </catalog_category_default>

    <!-- Change default direction for a category with layered navigation -->
    <catalog_category_layered>
        <reference name="product_list">
            <action method="setDefaultDirection"><dir>asc</dir></action>
        </reference>
    </catalog_category_layered>

 </layout>



I hope it will help you!

Re: Magento 1.9 - How to set PLP Page Sort By Ascending order in back-end?

@Vimal Kumar  For my clarity, should add given code to app/etc/local.xml file, right?

Re: Magento 1.9 - How to set PLP Page Sort By Ascending order in back-end?

Hi @Aveeva 

No, in the app/etc/local.xml file.

This should be added into your current theme local.xml file.

app/design/frontend/<your_package>/<your_theme>/layout/local.xml

Re: Magento 1.9 - How to set PLP Page Sort By Ascending order in back-end?

@Vimal Kumar  After adding following code,

 

<!-- Change default direction for a category with layered navigation -->
    <catalog_category_layered>
        <reference name="product_list">
            <action method="setDefaultDirection"><dir>asc</dir></action>
        </reference>
    </catalog_category_layered>

It's working.

 

What is mean Change default direction for a category without layered navigation?

Re: Magento 1.9 - How to set PLP Page Sort By Ascending order in back-end?

Hi @Aveeva 

Great.. it is working.

Please accept as solution so it will help to others as well..

catalog_category_layered

Means set for layered navigation list page. 

Same for catalog search page and category list page.