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