В данный момент функция CFile::ResizeImageGet возвращает массив с ключами src, width, height, size. Поэтому, чтобы вытащить описание файла (в котором очень удобно хранить атрибут alt картинки), приходится делать дополнительный вызов CFile::GetByID. Говоря про описание файла, я имею в виду поле DESCRIPTION в таблице b_file.
Если бы CFile::ResizeImageGet возвращала дополнительно еще и ключ description, то работать с выводом изображений стало бы намного приятнее.
негде там хранить дескрипшн в ресайзе то. Т.е. по любому придется дергать базу, чтобы его вытщить? А это надо далеко не всем.
Логика то проста. Вы не можете запустить ресайз не зная ID вопрос: ну так и вытаксивайте по ID всю информацию о файле. Ресайз то тут при чем? Это чисто техническая операция
Это вам надо тогда сделать так: сначала по ID всю информацию - а потом уже и ресайз
Обращение к базе будет происходить в любом случае, поскольку в методе изначально заложен вызов CFile::GetFileArray. Именно поэтому не хочется повторять дважды одну и ту же выборку, это неоптимально.
Идея возникла не на пустом месте: я обратил внимание, что в подавляющем большинстве случаев приходится дергать базу именно ради поля DESCRIPTION.
На счет базы вы сильно заморочились - есть managed_cache/b_file, да и resizeImageGet кеширует результаты (может, именно поэтому базу каждый раз дергать не выгодно). Может, лучше обертку написать, которая будет удобна именно вам?
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».