Как в Bitrix менять цены в зависимости от города?

В 1C-Bitrix есть несколько способов изменять цены в зависимости от города. Рассмотрим два основных подхода:

1. Использование свойств инфоблоков:

Первый способ состоит в создании свойств в инфоблоках товаров для хранения цен в зависимости от города. Это может быть строковое свойство с наименованием "Цена Москва", "Цена Санкт-Петербург" и т.д. Для удобства можно настроить отображение этого свойства только для заданных групп пользователей (например, только для администраторов) и скрыть для остальных.

Далее следует написать код, который будет определять текущий город пользователя и выводить цену в зависимости от выбранного города. Для этого можно использовать функции CSite::GetByID или CBitrix::GetCityName().

2. Использование торговых каталогов:

Второй подход состоит в использовании модуля "Торговый каталог" в 1C-Bitrix. В этом случае необходимо создать отдельные цены для каждого города. При создании товаров в каталоге можно указывать разные цены для каждого города отдельно.

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

Оба этих подхода имеют свои преимущества и ограничения, поэтому определение наиболее подходящего способа зависит от особенностей вашего проекта и требований к функционалу.

Также стоит отметить, что для реализации указанных подходов может потребоваться написание дополнительного кода и настройка соответствующих компонентов и шаблонов. Поэтому рекомендуется обратиться к специалисту, если у вас нет достаточного опыта в разработке на 1C-Bitrix.