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

Как ограничить размер картинок в публичной части?

00 голосов
6
Здраствуйте. Подскажите пожалуйста, как ограничить размеры детальной картинки (скажем к примеру до 100x100 пикселей, с автоматическим маштабированием) в публичной части?
Есть инфоблок Производители. Для вывода в публичный раздел используется компонент Элементы раздела (bitrix:catalog.section), картинка берется из Детальной картинки елементов инфоблока. Скриншот прилагается.
Рисунок
спросил 07 Сен, 13 от MeGa4el (260 баллов)

6 Ответы

00 голосов
В настройках инфоблока поставить ограничение или ресайзить в шаблоне компонента.
ответил 07 Сен, 13 от Ahbar (820 баллов)
00 голосов
Я так понимаю в настройках инфоблока пункт "Детальная картинка", галочку ставить на "Уменьшать если большая", а дальше вводить параметры в пикселях. Но там 2 подобных вкладки: "Поля" и "Поля разделов", на какой из них ставить ограничения? 
В инфоблоке Производители у меня разделов нет, только елементы. значить на вкладке "Поля"?

И что значить ресайзить в шаблоне компонента? Не могли бы вы привести текст кода, или ссылку где можно про это прочитать.
Буду очень признателен.
ответил 02 Дек, 13 от MeGa4el (260 баллов)
00 голосов
Цитата
Hauzer пишет:
И что значить ресайзить в шаблоне компонента?
использовать на выводе вот этот способ
ответил 15 Март, 14 от Texnik (1,860 баллов)
00 голосов
Цитата
Алексей Валеев пишет:
В настройках инфоблока поставить ограничение или ресайзить в шаблоне компонента.
Почитал про ресайз, что то это для меня сложновато. Решил делать по 1 методу. Только что то все равно не работает.
Захожу в инфоблок "Производители", на вкладку "Поля", в строке "Детальная картинка" ставлю галочку на пункте "Уменьшать если большая", ставлю значения в "максимальная ширина" и "максимальная высота" по 100 пикселей, жму применить. Но никакие изменения не вступают в силу. Что делаю не так? подскажите пожалуйста.
Рисунок
ответил 06 Июль, 14 от MeGa4el (260 баллов)
00 голосов
Настройки будут работать только для новых элементов, насколько я помню.
Ну и еще одно, а точно выводится детальная картинка, а не картинка анонса?
ответил 06 Ноя, 14 от Reihent (580 баллов)
00 голосов
Создайте в папке шаблона компонента файл result_modifier.php с текстом
Код
 <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
foreach($arResult["ITEMS"] as $key => $arItem) {
   if(is_array($arItem["DETAIL_PICTURE"]))
   {
      $arFileTmp = CFile::ResizeImageGet(
         $arItem["DETAIL_PICTURE"],
         array("width" => 100, 'height' => 100),
         BX_RESIZE_IMAGE_PROPORTIONAL,
         false
      );
      $arSize = getimagesize($_SERVER["DOCUMENT_ROOT"].$arFileTmp["src"]);
      
      $arResult["ITEMS"][$key]['DETAIL_PICTURE'] = array(
         'SRC' => $arFileTmp["src"],
         'WIDTH' => IntVal($arSize[0]),
         'HEIGHT' => IntVal($arSize[1]),
      );
   }
}
?>
ответил 05 Март, 15 от Ahbar (820 баллов)

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

0 голосов
1 ответ
0 голосов
0 ответов
0 голосов
2 ответов
спросил 07 Май, 14 от Asteria (1,840 баллов)
0 голосов
2 ответов
спросил 19 Апр, 14 от Evenka (520 баллов)
0 голосов
8 ответов