Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Превью MORE_PHOTO

00 голосов
5
Добавил к информационному блоку "Новости" свойство MORE_PHOTO, чтобы можно было выводить фотографии к новостям, но вот проблема: хочется чтобы выводились превьюхи со ссылкой на большое изображение, использовал поиск, все чего нашел, предложение генерировать превьюхи динамически при загрузке новости, но по-моему это неправильно, галку в админке "делать превью" тоже не нашел:(
спросил 22 Апр, 13 от ddvfty (440 баллов)

5 Ответы

00 голосов
Цитата
Max Pryazhevsky пишет:
Как вариант - выводите в шаблоне дополнительные фото с помощью CFile::ShowImage() задавая нужные размеры. При клике будет открываться окно с полноразмерной картинкой.

Какой ужас.
Перед выводом картинки обрабатывайте ее методом CFile::ResizeImageGet(), этот метод ресайзнет картинку и положит ее на диск. При последующих обращениях не надо будет ресайзить. А ссылку выводите на исходную большую картинку.
ответил 22 Апр, 13 от Almarea (3,760 баллов)
00 голосов
Как вариант - выводите в шаблоне дополнительные фото с помощью CFile::ShowImage() задавая нужные размеры. При клике будет открываться окно с полноразмерной картинкой.

Либо можно использовать отдельный инфоблок для фотогалерии (будет превью у элементов) и привязывать новости к альбомам.
ответил 22 Апр, 13 от smileplz (8,020 баллов)
00 голосов
Спасибо
ответил 16 Июнь, 13 от ddvfty (440 баллов)
00 голосов
Цитата
Дмитрий Яковенко пишет:
Какой ужас.
И какой ужас?

Подробнее о задаче ничего не известно. Будет у новости 15 доп. фото 1600x1200 или парочка 300x300 две большие разницы. ShowImage() может быть простым способом для
Цитата
хочется чтобы выводились превьюхи со ссылкой на большое изображение
mike1982 сможет сам выбрать наиболее подходящий вариант.
ответил 20 Сен, 13 от smileplz (8,020 баллов)
00 голосов
Сделал 1 раз и терь на всех проектах юзаю.Я взял хороший класс, который хорошо обрабатывает изображения. CFile::ResizeImageGet() не подходит во многих случаях. В общем очень классный и гибкий класс для работы с изображениями ! Написал функцию, которая создает изображения на диске с помощью класса...
Получилось что то типа такого .

$FileID = 50;
$width = 50;
$height = 50;
getImg($FileID,$width,height);

Функция выбирается исходный файл , ресайзится "крутым классом", сохраняется на диске под именем 50.50.50.jpg и распечатывается путь до картинки . Если картинка уже есть на диске значит вышесказанные процедуры пропускаются и сразу печатается путь до изображения.

И все юзаю
Код
<a href="<?=getImg($arElement['DETAIL_PICTURE']['ID'],10,10);?>"><img src="<?=getImg($arElement['DETAIL_PICTURE']['ID'],45,40);?>"></a>
ответил 19 Дек, 13 от KENTS (280 баллов)

Похожие вопросы

0 голосов
5 ответов
спросил 10 Ноя, 13 от Exet (380 баллов)
0 голосов
3 ответов
+1 голос
1 ответ
спросил 11 Март, 21 от аноним
0 голосов
1 ответ