Добрый день! Всегда пользовался подобной конструкцией для вывода изображений на сайте.
во первых размер можно пропорционально изменить, во вторых полученное изображение попадает в кеш и в дальнейшем берётся оттуда + ватермарки можно накладывать и пр. Сейчас сделал проект, одной из "особеннойстей" которого является то, что картинки торговых предложений беруться из медиабиблиотеки. Туда мы их запихнули когда переносили картинки со старого сайта (т.е. структура медиабиблиотеки повторяет структура каталога), а так же для реализации автоматической простановки картинок по товарам одного цвета. Т.е. контентщику достаточно выбрать для одного торгового предложения синего цвета (например) 5 картинок из медиабиблиотеки и они автоматом пропишуться у всех торговых предложений этого товара у которых цвет синий. Очень экономит время. Но вот проблема, теперь я не могу воспользоваться своей любимой функцией CFile:ResizeImageGet() . =(
Дело в том, что в catalog.section у меня есть только путь к картинкам лежащим в медиабиблиотеке, а CFile:ResizeImageGet() требует на вход ID зарегистрированного в системе файла. Как быть?
Код |
---|
<? //Подгоняем изображение под нужный размер $PreviewPict = CFile::ResizeImageGet($arItem["PREVIEW_PICTURE"]["ID"], array('width'=>164, 'height'=>154), BX_RESIZE_IMAGE_PROPORTIONAL, true, false, false, 80); echo CFile::ShowImage($PreviewPict["src"], 164, 154, " alt='".$arResult["NAME"]."' class='myClass' ", "", false); ?> |
Дело в том, что в catalog.section у меня есть только путь к картинкам лежащим в медиабиблиотеке, а CFile:ResizeImageGet() требует на вход ID зарегистрированного в системе файла. Как быть?
Всё сбудется, стоит только расхотеть...