CFile::ResizeImageGet и description файла

Рейтинг: 8.3437  
Новая
Предложил Пользователь 142932 21.08.2014 11:57:14

CFile::ResizeImageGet и description файла

В данный момент функция CFile::ResizeImageGet возвращает массив с ключами src, width, height, size.
Поэтому, чтобы вытащить описание файла (в котором очень удобно хранить атрибут alt картинки), приходится делать дополнительный вызов CFile::GetByID. Говоря про описание файла, я имею в виду поле DESCRIPTION в таблице b_file.

Если бы CFile::ResizeImageGet возвращала дополнительно еще и ключ description, то работать с выводом изображений стало бы намного приятнее.

Рейтинг: 0  
Пользователь 142932 25.08.2014 11:29:21
Как вариант, кстати, можно переопределить метод ResizeImageGet.
Например, вот так:

class CFileEx extends CFile 
{ 
    function ResizeImageGet(...) 
    { 
        // ...
    } 
} 


Переопределяется функция прекрасно, но, разумеется, под личную ответственность разработчика. Никто не может гарантировать, что в одной из новых версий bitrix не окажется класса CFileEx, или начинка метода ResizeImageGet не изменится.
Рейтинг: 0  
Пользователь 3089 08.02.2015 22:03:28
можно переопределить метод ResizeImageGet
Плохой это вариант - по тем причинам, что Вы сами указали.

или начинка метода ResizeImageGet не изменится
Из-за этого после каждого обновления main не придется заглядывать в этот метод и проводить повторную кастомизацию. Это причина-убийца, нужно решение со стороны ядра. Событие вполне подойдет.

Никто не может гарантировать, что в одной из новых версий bitrix не окажется класса CFileEx
Это меньшее из зол, всегда можно использовать пространство имен под конкретный проект или заказчика (если у него разных инсталляций Битрикс много).