У меня опыт работы с Битриксом не большой, около 6 лет. Но я думаю, что он позволяет написать эту заметку.
Есть реализации, с которыми можно пойти на компромисс, но есть и те, которые сложно понять.
Некоторым реализациям много лет, но они так и не были изменены.
1. Меню и кеширование
Кеширование меню настолько специфичное, что кеш растет довольно быстро. Можно было сделать достаточно просто и эффективно - обрабатываем меню, создаем дерево и отдельно простой массив с хешем ссылок. Кешируем, ставя таргет на 'managed:menu'.
А дальше все просто: разбираем текущей URL, ищем совпадения по хешу и помечаем флаг активности и выводим шаблон.
2. Настройки ресайза картинок при добавление в элемент
Интерфейс в настройках инфоблока. Но зачем при добавление грузить измененную картинку без сохранения оригинала? При редизайне проекта вы будете привязаны к размеру этих картинок!
Почему нельзя было отдать обработку в компоненты, а настройки сохранить в инфоблоке?
3. Медиабиблиотека
Разработали решение, а интегрировать забыли. Ну почему ж нельзя было доработать и сделать единое пространство для работы с медиа-данными? При загрузке картинок три вкладки на выбор! Можно прозрачно реализовать загрузку медиа-данных.
4. Кеширование
Работает достаточно хорошо, но есть одно но! Оно многоэтажное! В любом более "весомом" методе данные кешируются + кеширование компонента.
5. Javascript
а. Так Битрикс и не научился работать при редактирование с js.
b. Уберите, пожалуйста, весь код js в файл инициализации.
Отдельное про компоненты.
Хранить код в одном файле, без возможности вменяемого разделения - это достаточно плохо. Сейчас мы используем новые компоненты, в которых реализовано микро-mvc.
Хочется услышать решение ресайза у других разработчиков.
Есть реализации, с которыми можно пойти на компромисс, но есть и те, которые сложно понять.
Некоторым реализациям много лет, но они так и не были изменены.
1. Меню и кеширование
Кеширование меню настолько специфичное, что кеш растет довольно быстро. Можно было сделать достаточно просто и эффективно - обрабатываем меню, создаем дерево и отдельно простой массив с хешем ссылок. Кешируем, ставя таргет на 'managed:menu'.
А дальше все просто: разбираем текущей URL, ищем совпадения по хешу и помечаем флаг активности и выводим шаблон.
2. Настройки ресайза картинок при добавление в элемент
Интерфейс в настройках инфоблока. Но зачем при добавление грузить измененную картинку без сохранения оригинала? При редизайне проекта вы будете привязаны к размеру этих картинок!
Почему нельзя было отдать обработку в компоненты, а настройки сохранить в инфоблоке?
3. Медиабиблиотека
Разработали решение, а интегрировать забыли. Ну почему ж нельзя было доработать и сделать единое пространство для работы с медиа-данными? При загрузке картинок три вкладки на выбор! Можно прозрачно реализовать загрузку медиа-данных.
4. Кеширование
Работает достаточно хорошо, но есть одно но! Оно многоэтажное! В любом более "весомом" методе данные кешируются + кеширование компонента.
5. Javascript
а. Так Битрикс и не научился работать при редактирование с js.
b. Уберите, пожалуйста, весь код js в файл инициализации.
Отдельное про компоненты.
Хранить код в одном файле, без возможности вменяемого разделения - это достаточно плохо. Сейчас мы используем новые компоненты, в которых реализовано микро-mvc.
Хочется услышать решение ресайза у других разработчиков.