шаблоне компонента catalog.element без использования CFile::GetPath?
CFile::_GetImgParams($file_id)["SRC"];
файл в шаблоне компонента или файл ИД в битриксе
Файл ИД и так есть в массиве PROPERTIES
Можно ли как-то вывести путь к файлу в шаблоне компонента catalog.element если файл лежит в шаблоне компоненте - да если по ид нет и лучше не лепить костыли (cdn)
У меня есть инфоблок, в нем свойство типа файл, в шаблоне компонента вывожу его, но там только айдишник, а пути нет. Это нормально или я что-то не то делаю?
Ну шутник :) а чего не сразу GetFileArray
я думал не оценят 😀
сколько файлов то? в свойстве?
Ну галерея фото
понятнее не стало
ну если там больше 100 их то еще можно понять, а так не стоит других способов получения путей
Понял, спасибо большое
в битриксе есть таблица файлов. берется файл, ему назначается путь и id. и к элементам разным вяжется не путь файла, а его id в таблице файлов. берешь этот id, отдаешь его CFile::GetPath - и получаешь путь к файлу
а как вы пришли к тому что решили заменить CFile::GetPath?
Это я понимаю, но если файлов 20-30, это столько же запросов к базе, мне казалось, что это неправильно, а метода для получения всех путей одним запросом нет
20 по primary фигня... если список и в списке тысячи файлов получить, ну бывают кейсы... там можно собрать идшники и свой костыль накидать с получением из таблицы битрикса данных в 1 запросе...
оно кешируется в классе, в управляемый кеш
Ну, я образно, понял. Спасибо!
если это компонент, и ты получаешь это в result-modifier - это закешируется. если свой код - добавь кеш. если у тебя средних размеров проект - то не так критично
Внутри метода кеш не только этого, а и соседних файлов. Для одного товара с высокой вероятностью первый же запрос закеширует все нужные картинки.
Обсуждают сегодня