Установки превью-картинки всем элементам определенной категории инфоблока на Bitrix API
Иногда бывает, что нужно установить одну картинку в качестве превью не одному, а многим элементам инфоблока: когда элементов 1000, 2000 и т.д. Причем не каким попало элементам, а из определенной категории. В этой статье напишем небольшой скрипт, который решает подобную задачу. Для начала загрузим в систему нужный файл изображения. Его Вы можете загрузить либо через коллекцию изображений, либо в элемент инфоблока нужной категории. После загрузки нам понадобится ID изображения, которое вы можете посмотреть через диспетчер кода, наведя указатель мыши на изображение. Еще нам понадобятся ID инфоблока и ID нужной категории инфоблока.
// ID инфоблока
$iblockId = 54;
// ID категории
$categoryId = 495;
// ID файла - изображения
$previewPictureId = 18246;
// Подключаем модуль Инфоблоки
if (!CModule::IncludeModule("iblock")) {
return "Модуль iblock не подключен.";
}
//Получаем элементы из нужной категории
$elements = CIBlockElement::GetList(
array(),
array(
"IBLOCK_ID" => $iblockId,
"SECTION_ID" => $categoryId
),
false,
false,
array("ID")
);
// Далее, пробегаем в цикле по отобранным элементам и записываем в поле PREVIEW_PICTURE id файла картинки
while ($element = $elements->GetNext()) {
$elementId = $element["ID"];
// Обновляем элемент, устанавливаем превью
$result = CIBlockElement::SetFieldsValues(array(
$elementId => array(
"PREVIEW_PICTURE" => $previewPictureId
)
));
if ($result) {
echo "Превью установлено для элемента ID:".$elementId." ";
} else {
echo = "Ошибка установки превью для элемента ID:".$elementId." ";
}
}
Модифицируя данный скрипт, можно устанавливать с его помощью не только поля, но и свойства элементов
241027,
Россия,
Брянская область,
поселок Путевка,
улица Рослальская, дом 8, кв.121
Иногда бывает, что нужно установить одну картинку в качестве превью не одному, а многим элементам инфоблока: когда элементов 1000, 2000 и т.д. Причем не каким попало элементам, а из определенной категории. В этой статье напишем небольшой скрипт, который решает подобную задачу. Для начала загрузим в систему нужный файл изображения. Его Вы можете загрузить либо через коллекцию изображений, либо в элемент инфоблока нужной категории. После загрузки нам понадобится ID изображения, которое вы можете посмотреть через диспетчер кода, наведя указатель мыши на изображение. Еще нам понадобятся ID инфоблока и ID нужной категории инфоблока.
// ID инфоблока
$iblockId = 54;
// ID категории
$categoryId = 495;
// ID файла - изображения
$previewPictureId = 18246;
// Подключаем модуль Инфоблоки
if (!CModule::IncludeModule("iblock")) {
return "Модуль iblock не подключен.";
}
//Получаем элементы из нужной категории
$elements = CIBlockElement::GetList(
array(),
array(
"IBLOCK_ID" => $iblockId,
"SECTION_ID" => $categoryId
),
false,
false,
array("ID")
);
// Далее, пробегаем в цикле по отобранным элементам и записываем в поле PREVIEW_PICTURE id файла картинки
while ($element = $elements->GetNext()) {
$elementId = $element["ID"];
// Обновляем элемент, устанавливаем превью
$result = CIBlockElement::SetFieldsValues(array(
$elementId => array(
"PREVIEW_PICTURE" => $previewPictureId
)
));
if ($result) {
echo "Превью установлено для элемента ID:".$elementId." ";
} else {
echo = "Ошибка установки превью для элемента ID:".$elementId." ";
}
}
Модифицируя данный скрипт, можно устанавливать с его помощью не только поля, но и свойства элементов
В 1С-Битрикс.Управление сайтом, обычно сразу после установки, при тестировании системы появляется ошибка в строке Режим работы MySql "Ошибка! innodb_strict_mode=ON, требуется OFF". Из-за этой ошибки часть функционала Битрикс может не работать.
С технологией Автокомпозит - больше не требуется глубоких настроек и сложного программирования. Композитный режим включается нажатием одной кнопки в административном разделе сайта
При отправке почтового события в Битрикс возникает ситуация, когда письмо не приходит
Заказать сайт
Авторизация
Восстановление пароля
Для восстановления пароля на указанный вами адрес электронной почты будет выслан новый пароль
Вы успешно зарегистрированы!
На указанный E-mail отправлено письмо со ссылкой для активации учетной записи.
Пароль изменен
На указанный E-mail отправлено письмо с данными для авторизации
Заказать звонок
Оставьте ваши контакты и мы перезвоним вам в ближайшее время
Ваше сообщение успешно отправлено!
Благодарим Вас за обращение в нашу компанию! Мы получили ваше письмо и обязательно рассмотрим его в ближайшее время. Если ваш вопрос срочный, вы можете позвонить нам прямо сейчас по номеру: +7 953 271-62-24
Мы ценим ваше время и приложим максимум усилий, чтобы оперативно решить поставленную задачу!
С уважением,
Команда «BUSSOL»
Купить в 1 клик
Укажите ваши данные и мы свяжемся с Вами для уточнения заказа