The product display page can be called with a parameter to allow sorting of products by any field on the product table.

Set up details

The parameter to call the page with is "SortProduct=XXXX" where XXXX is the fieldname. For example, SortProduct=ProductCode would sort by the field ProductCode. SortProduct=Description would sort by Description.

To implement this in the product display template, set up a drop down that has each of the options you want to sort by in it and select the productdisplay.aspx page with a parameter or SortProduct=XXXX.