> For the complete documentation index, see [llms.txt](https://support.morozovpimnev.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.morozovpimnev.ru/asmp_filter/vidy-sortirovki.md).

# Виды сортировки

В модуле используются и зарезервированы следующие виды сортировки:

{% code fullWidth="true" %}

```php
$sorting = Core_Array::getGet('sorting', 0, 'int');
```

{% endcode %}

* `?sorting=1` - Цена по возврастанию (absolute\_price ASC)
* `?sorting=2` - Цена по убыванию (absolute\_price DESC)
* `?sorting=3` - Название товара по возврастанию (shop\_items.name ASC)
* `?sorting=4` - Название товара по убыванию (shop\_items.name DESC)
* `?sorting=5` - Дата создания товара по возврастанию (shop\_items.datetime ASC)
* `?sorting=6` - Дата создания товара по убыванию (shop\_items.datetime DESC)
* `?sorting=7` - Просмотры товара по возврастанию (shop\_items.showed ASC)
* `?sorting=8` - Просмотры товара по убыванию (shop\_items.showed DESC)

### Добавение своих сортировок через ->orderBy()

<pre class="language-php" data-full-width="true"><code class="lang-php">// !!!! Сортировка всегда идет после setFilterConditions !!!!
<strong>// по умолчанию ASC, стирает все предыдущие сортировки
</strong>// по наличию основного товара да = 0|нет = 1
$Shop_Controller_Show->orderBy('in_stock');

// по наличию основного товара и его модификаций да = 0|нет = 1
$Shop_Controller_Show->orderBy('in_stock_modification');

// по цене
$Shop_Controller_Show->orderBy('price'); // или absolute_price

// по доп. свойству
$Shop_Controller_Show->orderBy('property_123');

// НЕ стирает все предыдущие сортировки ->noClearOrderBy(), по умол. FALSE
// будет сортировка in_stock + sorting + shop_items.name
$Shop_Controller_Show
    ->orderBy('in_stock') // первая сортировка по умочланию очищает пред. сортировки
    ->noClearOrderBy(TRUE) // выкл. очистку последующих сортировок
    ->orderBy('sorting', 'ASC')
    ->orderBy('shop_items.name', 'ASC')
    ->noClearOrderBy(FALSE); // снова вкл. очистку послед. сортировок
    
</code></pre>
