I have read and read and read lots of threads but couldn't find an answer in the forums or in the book. Could somebody please help?
What I'm trying to do: when I display any of the "New Products", Featured Products" or "All Products" listings, there is a "Sort by:" drop-down box on top of the listed products with "Date added - new to old" as default and the rest of the options listed in this order when one clicks on the down arrow:
Product name
Product name - descending
Price - low to high
Price - high to low
Date added - new to old
Date added - old to new
There was also a "Model" option which I removed by deleting the <option value="5".......> line from the tpl_modules_listing_display_order.php file and renumbering the two remaining options.
From:
To:Code:<div id="sorter"> <label for="disp-order-sorter"><?php echo TEXT_INFO_SORT_BY; ?></label> <?php echo zen_draw_form('sorter_form', zen_href_link($_GET['main_page']), 'get'); echo zen_draw_hidden_field('main_page', $_GET['main_page']); // echo zen_draw_hidden_field('disp_order', $_GET['disp_order']); echo zen_hide_session_id(); ?> <select name="disp_order" onchange="this.form.submit();" id="disp-order-sorter"> <?php if ($disp_order != $disp_order_default) { ?> <option value="<?php echo $disp_order_default; ?>" <?php echo ($disp_order == $disp_order_default ? 'selected="selected"' : ''); ?>><?php echo PULL_DOWN_ALL_RESET; ?></option> <?php } // reset to store default ?> <option value="1" <?php echo ($disp_order == '1' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_NAME; ?></option> <option value="2" <?php echo ($disp_order == '2' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_NAME_DESC; ?></option> <option value="3" <?php echo ($disp_order == '3' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_PRICE; ?></option> <option value="4" <?php echo ($disp_order == '4' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_PRICE_DESC; ?></option> <option value="5" <?php echo ($disp_order == '5' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_MODEL; ?></option> <option value="6" <?php echo ($disp_order == '6' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_DATE_DESC; ?></option> <option value="7" <?php echo ($disp_order == '7' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_DATE; ?></option> </select></form></div>
Now, it appears that the products are always (sorted and) listed in the order: "Date added - new to old" even when I re-arrange the <option...> lines in the file and make the desired "Price: low to high" appear first in the drop-down box.Code:<div id="sorter"> <label for="disp-order-sorter"><?php echo TEXT_INFO_SORT_BY; ?></label> <?php echo zen_draw_form('sorter_form', zen_href_link($_GET['main_page']), 'get'); echo zen_draw_hidden_field('main_page', $_GET['main_page']); // echo zen_draw_hidden_field('disp_order', $_GET['disp_order']); echo zen_hide_session_id(); ?> <select name="disp_order" onchange="this.form.submit();" id="disp-order-sorter"> <?php if ($disp_order != $disp_order_default) { ?> <option value="<?php echo $disp_order_default; ?>" <?php echo ($disp_order == $disp_order_default ? 'selected="selected"' : ''); ?>><?php echo PULL_DOWN_ALL_RESET; ?></option> <?php } // reset to store default ?> <option value="1" <?php echo ($disp_order == '1' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_NAME; ?></option> <option value="2" <?php echo ($disp_order == '2' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_NAME_DESC; ?></option> <option value="3" <?php echo ($disp_order == '3' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_PRICE; ?></option> <option value="4" <?php echo ($disp_order == '4' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_PRICE_DESC; ?></option> <option value="5" <?php echo ($disp_order == '5' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_DATE_DESC; ?></option> <option value="6" <?php echo ($disp_order == '6' ? 'selected="selected"' : ''); ?>><?php echo TEXT_INFO_SORT_BY_PRODUCTS_DATE; ?></option> </select></form></div>
Is there something missing to have the products displayed in ascending price order by default please?
Any help will be much appreciated with my thanks in advance.


Reply With Quote

