Настройка для темы Default
Чтобы предоставить посетителям сайта возможность сортировать товары по скидке, нужно в теме (на примере Default) в файле отвечающего за вывод товаров (list-thumbs.html) добавить код:
'flexsort__discount' => 'По скидке',
в список возможных сортировок (для темы Default - в следующее место шаблона):
Результат:

Настройка сортировки по умолчанию
По умолчанию для неизвестных полей Shop-script производит сортировку по возрастанию, иными словами если кликнуть по ссылке "По скидке" то сперва выведутся товары без скидки, чтобы изменить действие по умолчанию, выполните следующие:
В файл list-thumbs.html добавить код:
{function name=sortUrl}{strip}
{$active_sort = $active_sort|default:$wa->get('sort')}
{$inverted = (in_array($sort, array('rating', 'create_datetime', 'total_sales', 'count', 'stock','flexsort__discount')))}
{$data = $wa->get(null)}
{$data.sort = $sort}
{if ($sort == $active_sort)}
{$data.order = ($wa->get('order', 'asc', 'string') == 'asc') ? 'desc' : 'asc'}
{else}
{$data.order = ($inverted) ? 'desc' : 'asc'}
{/if}
<a href="?{http_build_query($data)}">{$name}{if $sort == $active_sort} <i class="sort-{if $data.order == 'asc'}desc{else}asc{/if}"></i>{else}{/if}</a>
{/strip}{/function}
в следующее место шаблона:
Далее в этом-же файле, заменить:
{$wa->shop->sortUrl($sort, $name, $active_sort)}
на
{sortUrl sort=$sort name=$name active_sort=$active_sort}
Таким образом при первом нажатие на ссылку "По скидке" будут выведены товары с максимальной скидкой


