Как изменить размер шаблона в битрикс
Перейти к содержимому

Как изменить размер шаблона в битрикс

  • автор:

Изменить размер картинок в битрикс

Встала задачка, на собственном сайте, уменьшить размер превьюшек картинок у анонсов раздела дизайн. Само собой, пере заливать все картинки и лень и долго и глупо. Можно воспользоваться стандартной функцией битрикс CFile::ResizeImage и изменить размеры картинок на лету Для того, чтобы отресайзерить уже загруженные изображения, в нужном месте шаблона компонента вставляем

'.$arItem[

$renderImage = CFile::ResizeImageGet($arItem[«PREVIEW_PICTURE»], Array(«width» => НОВАЯ_ШИРИНА, «height» => НОВАЯ_ВЫСОТА), BX_RESIZE_IMAGE_EXACT, false);
echo »;
?>

Михаил Базаров

Вот и все. В итоге новые, отресайзенные картинки попадут в папку /upload/resize_images и сами применяться в шаблоне

Автор: Михаил Базаров

Закладки:
  • Заработок в интернете (2)
  • Продвижение сайтов (5)
  • 1С-Битрикс (53)
  • Разное (11)
  • css (2)
О разделе:

В данном разделе собраны полезные записи, как мои, так и моих друзей, коллег и партнеров. Полезные записи, приёмы разработки, в общем, всё то, что желательно иметь всегда под рукой.

Вы также можете выслать мне свой рецепт, по разработке сайтов заполнив форму обратной связи, приложив файл со своей статьёй.

Поиск по сайту:
Создание сайта на 1C-Битрикс:
Продвижение сайта:
Свежие записи:

Микроразметка необходима сайту, чтобы упростить поисковикам распознавание информации, размещенной на нем. Shema.org помогает роботам наиболее точно обработать.

Иногда не достаточно картинки анонса, детальной и нужно загружать на сайт больше фотографий к примеру в карточку товара, как правило это делается через.

Для того, чтобы ресурс приносил реальную прибыль, он должен быть на первых позициях в выдаче, получать трафик и быть посещаемым. Но все это возможно, .

Для некоторых платёжных систем, таких как Яндекс Касса и прочих подобных, требуется наличие SSL сертификата. Ваш сайт должен без ошибок и предупрежден.

Часто возникает необходимость применять разные стили или html код к элементам компонентов новостей и каталога в Битрикс.
Нечётные новости выводились в.

Модификаторы в шаблонах документов: меняем формат вывода дат, имен и сумм

Модификатор — это специальный код, который меняет формат поля. Например, значение поля Ф.И.О. по умолчанию выводится в именительном падеже — Сергей Терехов. Чтобы CRM вывела поле в дательном падеже — Сергею Терехову, к символьному коду надо добавить специальный модификатор.

Модификаторы расположены внутри символьного кода после знака тильды (~) . В коде DocumentCreateTime — это код поля, а d.m.Y h:i:s — модификатор.

Чтобы научиться работать с модификаторами, сначала прочитайте статью про символьные коды, так как без кодов модификаторы не будут работать.
Символьные коды: что это и зачем они нужны

Модификаторы работают только с полями, у которых указан тип.

тип_полей.png

Типы модификаторов

Модификаторы доступны для дат, имён, адресов, денежных сумм и регистра текста. Рассмотрим модификаторы для каждого типа.

Модификаторы даты и времени. По умолчанию дата имеет формат страны шаблона, который вы используете. Посмотреть какая страна указана, можно в настройках шаблона.
Настройки шаблона

  • d.m.y — 28.08.23
  • d.m.Y — 28.08.2023
  • j, n, Y — 28, 08, 2023
  • j F, Y — 28 Августа, 2023
  • H:i:s — 10:24:18

Модификаторы даты и времени можно комбинировать:

  • Y-m-d H:i:s — 2023-08-28 10:24:18

Полный список модификаторов даты и времени есть в документации для разработчиков.
Дополнительные параметры даты и времени

Возьмем код для поля «Дата создания документа» и преобразуем его в нужный формат. Для этого к коду добавим модификатор ~d.m.Y h:i:s. Получим такой код .

модификаторы_дата_и_время.png

Модификаторы имени. С помощью модификаторов можно задать падеж, порядок следования фамилии, имени, отчества и обращения. Для изменения порядка следования используйте параметр ~format=.

Список возможных модификаторов:

  • #TITLE# — обращение
  • #NAME# — имя
  • #LAST_NAME# — фамилия
  • #SECOND_NAME# — отчество
  • #NAME_SHORT# — первая буква имени с точкой
  • #LAST_NAME_SHORT# — первая буква фамилии с точкой
  • #SECOND_NAME_SHORT# — первая буква отчества с точкой

Выведем имя в такой последовательности: обращение, фамилия, имя, отчество. Возьмем символьный код, который обозначает полное имя контакта и добавим к нему модификаторы в том порядке, который описан выше. Код будет иметь такой вид: .

Для изменения падежа используем параметр ~Case=. Склонение по падежам работает только для имён на русском языке, в которых указано отчество.

  • -1 — именительный
  • 0 — родительный
  • 1 — дательный
  • 2 — винительный
  • 3 — творительный
  • 4 — предложный

Создадим код для имени в родительном падеже. Возьмем код с модификаторами последовательности, который мы создали раньше, и добавим модификатор родительного падежа .

модификатор_имени.png

Если надо вывести имя главного бухгалтера или директора компании в родительном падеже, используем для директора, для бухгалтера.

Модификаторы адреса. По умолчанию Битрикс24 использует формат адреса страны текущего шаблона.
Как посмотреть страну в настройках шаблона

Формат адреса можно изменить, а также добавить разделитель строк. Для изменения формата будем использовать параметр ~Format=, а для разделения строк ~Separator=.

Модификаторы формата и разделителя:

Для параметра Format:

  • 1 — Европа
  • 2 — Великобритания
  • 3 — Северная Америка
  • 4 — Россия (улица > страна)
  • 5 — Россия (страна > улица)

Для параметра Separator:

  • 1 — запятая
  • 2 — без разделителя
  • 3 — перевод строки

Зададим тип адреса — Россия (страна > улица) с переводом строки между частями адреса, к коду поля адрес контакта добавим нужные модификаторы и получим .

модификатор_адреса.png

Модификаторы для денежных сумм. Для денежных значений мы можем показать валюту и незначащие нули — это такие нули, при отсутствии которых значение не поменяется. С помощью специального модификатора сумму можно вывести прописью. Сумма прописью доступна только для рублей, белорусских рублей, гривен и тенге.

  • WZ (With zeros). По умолчанию Битрикс24 показывает незначащие нули для денежных сумм в полях. При значении WZ=N сумма будет без незначащих нулей. Например, 12.00 рублей превратятся в 12 рублей. По умолчанию нули выводятся в полях — сумма исходных цен, — налоговая ставка, — общая сумма. В полях, которые находятся в табличной части, например — Исходная цена без скидки, — Сумма исходной цены без скидки, нули выводятся только при добавлении модификатора WZ=Y.
  • NS (No sign). При значении NS=Y сумма будет без знака валюты, при значении NS=N — со знаком.
  • W (Words). При значении W=Y сумма будет написана прописью.

Выведем сумму сделки прописью и с обозначением валюты, для этого используем код суммы и модификаторы .

Модификаторы для телефона. Изменить формат номера телефона можно с помощью модификатора ~format=.

  • E.164 — +7900xxxxxxx
  • International — +7 900 xxx-xx-xx
  • National — 8 (900) xxx-xx-xx

Выведем номер контакта в привычном нам формате +7 и без пробелов, Используем код , где — это код для поля «Телефон контакта».

модификатор_номера_телефона.png

Модификаторы регистра текста. С помощью модификатора ~letterCase= можно изменить регистр текста.

Модификатор может принимать следующие значения:

  • upper — ВЕРХНИЙ РЕГИСТР
  • lower — нижний регистр
  • title — Верхний Регистр Для Первой Буквы Каждого Слова

С помощью модификаторов вы можете изменить исходное значение поля CRM. Используйте модификаторы, чтобы изменить формат даты и времени, изменить падеж в имени, а также сменить формат адреса.

Как с помощью модификаторов вывести значения из множественного поля

В CRM поля могут быть множественными, то есть иметь несколько значений. В стандартные поля «Телефон», «Почта», «Мессенджер» можно добавить несколько телефонных номеров и адресов.

С помощью параметра ~mfirst= можно управлять выводом множественных полей:

  • mfirst=y — выведет только первое значение множественного поля
  • mfirst=n — выведет все значения

Например, у нас есть поле «Телефон», оно множественное, и нам надо вывести все значения из поля. Будем использовать код . По умолчанию значения будут разделены запятой. Модификатор ~mseparator= позволяет выбрать разделитель: запятая (1) или перенос строки (2) — . Чтобы вывести все значения из поля «Телефон» и разделить их переносом строки, используем код .

модификатор_все_номера.png

Если нужно вывести в документ определенные элементы списка, используем параметр ~index=. Нумерация элементов списка начинается с нуля. Так, товар с индексом 1 — это второй товар в списке. Например, код выведет третий элемент из списка товаров.

Модификатор ~all=y, выведет все значения множественного поля «Привязка к элементам CRM».

Коротко

Полезные ссылки:

  • Шаблоны документов в CRM: как настроить, чтобы быстро отправлять счета и акты
  • Как изменить стандартный шаблон документа в СRM
  • Как загрузить свой шаблон документа в CRM
  • Пользовательские поля в шаблонах документов: как добавить свое поле в шаблон

Как изменить размеры картинок которые загружаюстя и урезаются?

Как изменить размеры картинок которые загружаюстя и урезаются?
Вот находимся мы с разделе товаров и видим список твоаров, а там картинки слишком маленькие, как мне сделать так чтобы картинки загружались с размером 150х150 пискелей?

Сообщений: 1782 Баллов: 257 Регистрация: 04.05.2007
02.05.2011 17:00:26

У каждого товара есть две картинки: детальная и для анонса. Размеры этих картинок задаются в настройках инфоблока, и для их изменения есть несколько вариантов:
1. настроить инфоблок на другой размер картинок (старые придется перезалить)
2. использовать готовое решение, например, resizer (найдите через поиск, я его не продаю). Это позволяет использовать несколько размеров картинок путем создания нужного из детальной.
3. написать свою перерезалку. Аналогично п. 2

ITConstruct . Разработка сайтов в Москве и Новосибирске. Внедрение корпоративных порталов. Техническая поддержка

Постоянный посетитель
Сообщений: 184 Баллов: 32 Регистрация: 21.07.2008
02.05.2011 17:14:43

не получается настроить инфоблок чтобы картинка в переменной: $arElement[«PREVIEW_IMG»] содержалась нужных мне размеров, только размеры на странице просмотра товара настраиваются.

Еше проблема в том, что туда где список товаров попадает картинка из «Подробно», а картинки из «Анонс» вообще нигде нет. И вот в этой переменной и хранится картинка из «Подробно» — $arElement[«PREVIEW_IMG»]

Первый вопрос тот же, как сделать чтобы в списке товаров выводились картинки с нужными мне размерами?

Второй вопрос как сделать чтобы в компоненте списка товаров в переменной $arElement[«PREVIEW_IMG»] находились данные от картинки Анонса а не картинки Детально?

Заранее благодарю за помощь.

Битрикс малый бизнес 10.0

Сообщений: 987 Баллов: 87 Регистрация: 05.03.2009
02.05.2011 17:15:02

Подробнее про пункты:
1. Рабочий стол -> Контент -> Информ. блоки -> Типы информ. блоков -> Ваш инфоблок
Смотрим «Поля», нужном ставим Уменьшать если большая и размеры

while ($arElement = $res->GetNext()) < $image = CFile::GetFileArray($arElement['PHOTO']); if (!empty($image)) < // Пропорциональное уменьшение аватарки $tmpImage = CFile::ResizeImageGet($image, array("width" =>150, "height" => 150), BX_RESIZE_IMAGE_PROPORTIONAL, false); $image['src'] = $tmpImage['src']; > else < // Картинка, если аватарки нет $image['src'] = '/noimage150.png'; >print '' . $arElement['NAME'] . ''; >

З.Ы. Если вам нужны именно квадратные изображения, используйте еще clip: rect(Y1, X1, Y2, X2)

Постоянный посетитель
Сообщений: 184 Баллов: 32 Регистрация: 21.07.2008
02.05.2011 17:20:28
Ведь если я изменю файл модуля то при обновлении системы все вернется назад. или другого выхода нет?
Сообщений: 987 Баллов: 87 Регистрация: 05.03.2009
02.05.2011 17:20:44

Цитата
Связь пишет:
Второй вопрос как сделать чтобы в компоненте списка товаров в переменной $arElement[«PREVIEW_IMG»] находились данные от картинки Анонса а не картинки Детально?

В шаблоне компонента выведите $arElement (пример: print_r($arElement)
И посмотрите там картинку анонса.

Сообщений: 987 Баллов: 87 Регистрация: 05.03.2009
02.05.2011 17:22:05

Цитата
Связь пишет:
Ведь если я изменю файл модуля то при обновлении системы все вернется назад. или другого выхода нет?

Вы не будуте изменять компонент или модуль, вы будете редактировать шаблон компонента — это другое.

В шаблоне компонента делайте любые модификации. Никакого вреда системе этим не нанесете.

Постоянный посетитель
Сообщений: 184 Баллов: 32 Регистрация: 21.07.2008
02.05.2011 17:29:43
спасибо, во всем разобрался.
Постоянный посетитель
Сообщений: 133 Баллов: 22 Регистрация: 28.08.2011
30.09.2011 09:47:04

Подскажите пожалуйста: битрикс уменьшил фото используя BX_RESIZE_IMAGE_EXACT.
Фото получились обрезанные и не пропорциональные.Как обрезать их заново используя BX_RESIZE_IMAGE_PROPORTIONAL ?

Заглянувший
Сообщений: 6 Регистрация: 24.11.2011
Краснов Кирилл
29.12.2011 17:43:35

Объясните, пожалуйста. В настройках инфоблока стоит урезать если больше 110×110. Пытаюсь вывести каталог товара с фильтром, а в PREVIEW_IMAGE картинка оригинального или детального размера. Хотя в анонсе на товар картинка корректна.

Страницы: 1

Продукты

Управление сайтом
Битрикс24
Интернет-магазин + CRM

Решения

Для интернет-магазинов
Каталог готовых решений

Внедрение

Выбрать партнера
Проверить партнера
Стать партнером

1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

Контент для лиц от 16 лет и старше

© 2001-2024 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности

Изменить размер картинок на лету в битрикс

Встала задачка: на собственном сайте, уменьшить размер превьюшек картинок у анонсов раздела дизайн. Само собой, перезаливать все картинки и лень и долго и глупо. Можно воспользоваться стандартной функцией битрикс CFile::ResizeImage и изменить размеры картинок на лету.

Изменить размер картинок на лету в битрикс

Для того, чтобы отресайзерить уже загруженные изображения в нужном месте шаблона компонента, вставляем:

$renderImage = CFile::ResizeImageGet( $arItem["PREVIEW_PICTURE"], Array("width" => НОВАЯ_ШИРИНА, "height" => НОВАЯ_ВЫСОТА), BX_RESIZE_IMAGE_EXACT, false ); echo ''.$arItem[';

Параметры масштабирования и обрезки можно установить такими переменными:

  • BX_RESIZE_IMAGE_EXACT — масштабирует в прямоугольник $arSize c сохранением пропорций, обрезая лишнее (в примере выше именно оно);
  • BX_RESIZE_IMAGE_PROPORTIONAL — масштабирует с сохранением пропорций, размер ограничивается $arSize;
  • BX_RESIZE_IMAGE_PROPORTIONAL_ALT — масштабирует с сохранением пропорций за ширину при этом принимается максимальное значение из высоты/ширины, размер ограничивается $arSize, улучшенная обработка вертикальных картинок.

В итоге новые, отресайзенные картинки попадут в папку /upload/resize_images и сами применятся в шаблоне.

Параметры метода CFile::ResizeImageGet:

array CFile::ResizeImageGet( mixed file, array arSize, const resizeType = BX_RESIZE_IMAGE_PROPORTIONAL, bool bInitSizes = false, array arFilters = false, bool bImmediate = false, bool jpgQuality = false ); 
  • file Идентификатор файла из таблицы b_file или массив описания файла (Array(FILE_NAME, SUBDIR, WIDTH, HEIGHT, CONTENT_TYPE)), полученный методом GetFileArray.
  • Size Массив в виде Array(«width»=>WIDTH, «height»=>HEIGHT) со значениями ширины и высоты для уменьшаемой картинки. Оба ключа обязательны.
  • resizeType Тип масштабирования:
  • InitSizes Флаг возвращения в результирующем массив размеров измененной картинки. True — возвращает, false — нет
  • Filters Массив массивов для постобработки картинки с помощью фильтров: array(array(«name» => «sharpen», «precision» => 15)). Фильтров пока один — sharpen. Задавать его не обязательно — будет инициализирован автоматом. Используется для наведения резкости у миниатюр.
  • Immediate Флаг передается в обработчик события OnBeforeResizeImage, по смыслу означает масштабирование непосредственно при вызове метода. Обработчик в принципе может выполнять отложенное масштабирование.
  • jpgQuality Число, устанавливающее в процентах качество JPG при масштабировании. Чем больше значение, тем выше качество и больше размер файла изображения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *