Установки превью-картинки всем элементам определенной категории инфоблока на 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." ";
}
}
Модифицируя данный скрипт, можно устанавливать с его помощью не только поля, но и свойства элементов
241519,
Россия,
Брянская область,
поселок Путевка,
улица Рослальская, дом 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." ";
}
}
Модифицируя данный скрипт, можно устанавливать с его помощью не только поля, но и свойства элементов
Нередко возникает необходимость на странице списка товаров и на детальной странице товара отключить появление попапа добавления товара в корзину. В этом видео я покажу как это можно сделать
Казалось бы, тема старая, однако актуальна и по сей день. У многих программистов возникает необходимость импорта данных из csv в mysql и вопрос о том, как это сделать.
Уведомление об использовании файлов Cookie с 31 мая 2025 года стало обязательной составляющей любого сайта
Заказать сайт
Авторизация
Восстановление пароля
Для восстановления пароля на указанный вами адрес электронной почты будет выслан новый пароль
Вы успешно зарегистрированы!
На указанный E-mail отправлено письмо со ссылкой для активации учетной записи.
Пароль изменен
На указанный E-mail отправлено письмо с данными для авторизации
Заказать звонок
Оставьте ваши контакты и мы перезвоним вам в ближайшее время
Ваше сообщение успешно отправлено!
Благодарим Вас за обращение в нашу компанию! Мы получили ваше письмо и обязательно рассмотрим его в ближайшее время. Если ваш вопрос срочный, вы можете позвонить нам прямо сейчас по номеру: +7 953 271-62-24
Мы ценим ваше время и приложим максимум усилий, чтобы оперативно решить поставленную задачу!
С уважением,
Команда «BUSSOL»
Купить в 1 клик
Укажите ваши данные и мы свяжемся с Вами для уточнения заказа