How to set sort by position Ascending order by default in the backend.
Screenshot : https://snipboard.io/hGXTQM.jpg
Solved! Go to Solution.
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!
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!
@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> <?php else: ?> <a href="<?php echo $this->getModeUrl($_code) ?>" title="<?php echo $_label ?>" class="<?php echo strtolower($_code); ?>"><?php echo $_label ?></a> <?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?
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!
@Vimal Kumar For my clarity, should add given code to app/etc/local.xml file, right?
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
@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?
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.