Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
Доброго времени суток!
Периодически в техподдержку поступают вопросы вида:
Обычно такие запросы приходят перед праздниками или после роста курса валют.
Через наценки действительно не получится в несколько кликов поднять цены сразу на весь каталог.
Если товаров на сайте много, а поднять цены надо, то выручить может API.
Предупреждение:
Прежде чем пользоваться скриптом из данной статьи, убедитесь, что у вас есть резервная копия сайта или файл экспорта каталога, чтобы в случае непредвиденных обстоятельств можно было вернуть цены обратно!
Рассмотрим простейший пример каталога без торговых предложений.
Есть 5 товаров в каталоге, в колонке справа видно цену этих товаров.
Перед нами встала задача поднять цену на эти товары на 30%.
Первым делом, собираем нужную нам информацию.
Смотрим ID инфоблока, в котором хранятся товары. Это можно сделать разными способами, один из самых простых:


ID нашего инфоблока – 4.
Теперь надо выяснить ID типа цены и код валюты.
Открываем карточку товара и смотрим, в каком типе цены мы храним цену, а так же какая валюта используется:

После этого переходим на страницу «Рабочий стол – Магазин – Настройки - Типы цен» и находим ID нашего типа цены:

ID нашего типа цены – 1.
Валюта RUB
Переходим непосредственно к скрипту.
Скрипт нужно скопировать и вставить на странице "Рабочий стол - Настройки - Инструменты - Командная PHP-строка". Сам скрипт расположен чуть ниже в статье.
Не запускайте код сразу!
Сначала нужно внести данные, которые мы получили.
В строке:
мы вносим ID типа цены (1).
В этой строке указываем валюту.
Тут указываем ID нашего инфоблока с товарами (4).
Теперь самое главное, строка в которой меняется цена.
Если перевести на человеческий язык, то получится так:
Новая цена = старая цена * 1.3 (то есть умножили старую цену на 130%).
Теперь весь код полностью:
Я выполнил этот код и цены обновились на все товары на 30%:

На этом всё!
Данный код можно использовать как в чистом виде, если у вас простой каталог, либо как заготовку для доработки.
Код не подойдет тем, у кого, например, используется 2 валюты в каталоге.
Рассмотрю варианты по доработке статьи и скрипта, оставляйте в комментариях пожелания.
Дополнительная информация по API:
Назад в раздел
Наверх
то ждем ваше обращение в нашей службе тех поддержки.
Массовое изменение цен товаров.
UPD. Появилось стандартное решение битрикса:Доброго времени суток!
Периодически в техподдержку поступают вопросы вида:
Как поднять цены на все товары? Через наценки не получается |
Через наценки действительно не получится в несколько кликов поднять цены сразу на весь каталог.
Если товаров на сайте много, а поднять цены надо, то выручить может API.
Предупреждение:
Прежде чем пользоваться скриптом из данной статьи, убедитесь, что у вас есть резервная копия сайта или файл экспорта каталога, чтобы в случае непредвиденных обстоятельств можно было вернуть цены обратно!
Рассмотрим простейший пример каталога без торговых предложений.
Есть 5 товаров в каталоге, в колонке справа видно цену этих товаров.
Перед нами встала задача поднять цену на эти товары на 30%.
Первым делом, собираем нужную нам информацию.
Смотрим ID инфоблока, в котором хранятся товары. Это можно сделать разными способами, один из самых простых:


ID нашего инфоблока – 4.
Теперь надо выяснить ID типа цены и код валюты.
Открываем карточку товара и смотрим, в каком типе цены мы храним цену, а так же какая валюта используется:

После этого переходим на страницу «Рабочий стол – Магазин – Настройки - Типы цен» и находим ID нашего типа цены:

ID нашего типа цены – 1.
Валюта RUB
Переходим непосредственно к скрипту.
Скрипт нужно скопировать и вставить на странице "Рабочий стол - Настройки - Инструменты - Командная PHP-строка". Сам скрипт расположен чуть ниже в статье.
Не запускайте код сразу!
Сначала нужно внести данные, которые мы получили.
В строке:
"CATALOG_GROUP_ID" => 1, //ID типа цены |
"CURRENCY" => "RUB" // Валюта |
"ELEMENT_IBLOCK_ID" => 4, //ID инфоблока с товарами |
Теперь самое главное, строка в которой меняется цена.
$UpdatedPrice = $ar_res["PRICE"] * 1.3; // Здесь мы меняем цену |
Новая цена = старая цена * 1.3 (то есть умножили старую цену на 130%).
Теперь весь код полностью:
Cmodule::IncludeModule("catalog");
$db_res = CPrice::GetList(
array(),
array(
"ELEMENT_IBLOCK_ID" => 4, //ID инфоблока с товарами
"CATALOG_GROUP_ID" => 1, //ID типа цены
"CURRENCY" => "RUB" // Валюта
)
);
while($ar_res = $db_res->Fetch())
{
$UpdatedPrice = $ar_res["PRICE"] * 1.3; // Здесь мы меняем цену
CPrice::Update($ar_res["ID"], Array("PRICE" => $UpdatedPrice));
}
|
Я выполнил этот код и цены обновились на все товары на 30%:

На этом всё!
Данный код можно использовать как в чистом виде, если у вас простой каталог, либо как заготовку для доработки.
Код не подойдет тем, у кого, например, используется 2 валюты в каталоге.
Рассмотрю варианты по доработке статьи и скрипта, оставляйте в комментариях пожелания.
Дополнительная информация по API:
Назад в раздел
Подписаться на новые материалы раздела:
Загрузка...
Наверх