PHPackages                             deadlarsen/iblocksortfix - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. deadlarsen/iblocksortfix

ActiveLibrary

deadlarsen/iblocksortfix
========================

1C-Bitrix module for fixing SORT field in iblock elements with 100-step algorithm

v1.0.1(9mo ago)14MITPHPPHP &gt;=7.4.0

Since Jul 18Pushed 9mo agoCompare

[ Source](https://github.com/DeadLarsen/deadlarsen.iblocksortfix)[ Packagist](https://packagist.org/packages/deadlarsen/iblocksortfix)[ RSS](/packages/deadlarsen-iblocksortfix/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (3)Versions (3)Used By (0)

DeadLarsen IblockSortFix - Модуль исправления сортировки для 1C-Bitrix
======================================================================

[](#deadlarsen-iblocksortfix---модуль-исправления-сортировки-для-1c-bitrix)

[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)[![PHP Version](https://camo.githubusercontent.com/b43c9d6cd8939c4868f963284928566c4c35dd2da0725c027f95a3d62f2f0329/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d372e342532422d626c75652e737667)](https://www.php.net)[![1C-Bitrix](https://camo.githubusercontent.com/6070857927a36eb5ab2a13f1d211cb9449b0825ec562f81ece0ff94998870811/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f31432d2d4269747269782d436f6d70617469626c652d677265656e2e737667)](https://www.1c-bitrix.ru)[![Packagist Version](https://camo.githubusercontent.com/ca9b0be2d0b48feede0fdc345e8f2a8ff5bb5d3fa448e24b6f57e2089823c0ed/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f646561646c617273656e2f69626c6f636b736f7274666978)](https://packagist.org/packages/deadlarsen/iblocksortfix)[![Packagist Downloads](https://camo.githubusercontent.com/ae35a2cd7386ccced7f8f4f0de2925cd8988cf9901fdfed6348976bb97107837/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f646561646c617273656e2f69626c6f636b736f7274666978)](https://packagist.org/packages/deadlarsen/iblocksortfix)[![PRs Welcome](https://camo.githubusercontent.com/dd0b24c1e6776719edb2c273548a510d6490d8d25269a043dfabbd38419905da/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5052732d77656c636f6d652d627269676874677265656e2e737667)](CONTRIBUTING.md)

🔧 **Профессиональный модуль для исправления поля SORT в элементах инфоблоков 1C-Bitrix**

Модуль `deadlarsen.iblocksortfix` предназначен для исправления поля SORT в таблице `b_iblock_element` в системе 1C-Bitrix с помощью эффективного алгоритма с шагом 100.

✨ Особенности
-------------

[](#-особенности)

- 🚀 **Быстрая установка** - установка одной командой через Composer или миграцию
- 🎯 **Точное исправление** - алгоритм с шагом 100 для оптимальной сортировки
- 🛡️ **Безопасность** - все операции выполняются в транзакциях
- 🖥️ **Веб-интерфейс** - удобная панель в админке Bitrix
- ⚡ **CLI команды** - автоматизация через командную строку
- 📊 **Детальная аналитика** - полная статистика по инфоблокам
- 🔍 **Интеллектуальная диагностика** - обнаружение проблем с сортировкой
- 💾 **Система бекапов** - автоматическое создание резервных копий
- 🔄 **Восстановление данных** - быстрое восстановление из бекапов

🚀 Быстрый старт
---------------

[](#-быстрый-старт)

\### Установка через Composer (рекомендуется)

```
composer require deadlarsen/iblocksortfix
```

Модуль автоматически будет установлен в `local/modules/deadlarsen.iblocksortfix/` и зарегистрирован в системе.

### 🚀 Команды после установки через Composer

[](#-команды-после-установки-через-composer)

**📍 Поддержка множественных путей:** Алиасы автоматически определяют где установлен модуль (`vendor/`, `local/modules/`, или `bitrix/modules/`) и используют правильный путь. [Подробнее →](CONFIGURATION.md)

После установки `composer require deadlarsen/iblocksortfix` выполните:

```
# 1. Проверьте статистику элементов
php local/modules/deadlarsen.iblocksortfix/cli/sort_fix.php stats

# 2. Проверьте нужно ли исправление
php local/modules/deadlarsen.iblocksortfix/cli/sort_fix.php check

# 3. Создайте бекап (рекомендуется)
php local/modules/deadlarsen.iblocksortfix/cli/sort_fix.php backup

# 4. Исправьте сортировку с автоматическим бекапом
php local/modules/deadlarsen.iblocksortfix/cli/sort_fix.php fix --backup

# 5. Убедитесь что исправление прошло успешно
php local/modules/deadlarsen.iblocksortfix/cli/sort_fix.php check
```

### Ручная установка

[](#ручная-установка)

1. Скачайте модуль в `local/modules/deadlarsen.iblocksortfix/`
2. Установите через админ-панель или выполните миграцию
3. Откройте **Настройки → Исправление сортировки**

Подробные инструкции: [INSTALL.md](INSTALL.md)
Быстрый старт: [QUICK-START.md](QUICK-START.md)
Короткие команды: [ALIASES.md](ALIASES.md)
Конфигурация: [CONFIGURATION.md](CONFIGURATION.md)

📋 Содержание
------------

[](#-содержание)

- [Особенности](#-%D0%BE%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8)
- [Быстрый старт](#-%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82)
- [Команды после установки](#-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-composer)
- [Описание проблемы](#-%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B)
- [Алгоритм работы](#-%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B)
- [Установка](#-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
- [Использование](#-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
- [Структура модуля](#-%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F)
- [Безопасность](#-%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C)
- [Примеры использования](#-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
- [Техническая информация](#-%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F)
- [Содействие проекту](#-%D1%81%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%83)
- [Лицензия](#-%D0%BB%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F)
- [Поддержка](#-%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0)

🎯 Описание проблемы
-------------------

[](#-описание-проблемы)

В процессе работы с инфоблоками могут возникать ситуации, когда:

- Несколько элементов имеют одинаковое значение поля SORT
- Значения SORT не соответствуют стандарту (не кратны 100)
- Порядок сортировки нарушен

⚙️ Алгоритм работы
------------------

[](#️-алгоритм-работы)

Модуль исправляет сортировку по следующему алгоритму:

1. Получает все элементы инфоблоков, отсортированные по полю SORT (по возрастанию)
2. При одинаковых значениях SORT применяется вторичная сортировка по ID
3. Обновляет поле SORT с шагом 100:
    - Первый элемент: SORT = 100
    - Второй элемент: SORT = 200
    - Третий элемент: SORT = 300
    - И так далее...

📦 Установка
-----------

[](#-установка)

### 1. Установка модуля

[](#1-установка-модуля)

Модуль уже размещен в директории `local/modules/deadlarsen.iblocksortfix/`.

Для установки выполните:

```
# Через административный интерфейс
# Настройки → Marketplace → Установленные решения → Найти "Sort Fix" → Установить

# Или через создание миграции
```

### 2. Создание миграции для установки

[](#2-создание-миграции-для-установки)

Создайте миграцию для автоматической установки модуля:

```
