Здравствуйте, необходимо чтобы в магазине для разных городов показывались разные цены. После входа на сайт появляется окошко примерно как тут: http://blackberry.mts.ru/ - только в нём список городов (всего около 10 городов, где есть дилеры, список должен иметь возможность редактироваться). После этого пользователю показываются разные цены на сайте. Цена должна изменяться для нескольких основных разделов, алгоритм - линейный с использованием коэффициентов, пример: Москва - коэффициент 1.0, Пушкино - 0.9, Иваново - 0.7 Итого при цене товара в 1 тысячу рублей получим соотв. 1 тыс., 900 и 700 рублей. Как такое получше можно реализовать?
Как вариант хранить значение города или его id в cookies. Затем создать ИБ со значениями, например, названием города и его коэффициентом. И в дальнейшем при формировании цен заглядывать в куки, брать значение из ИБ и выполнять определенные действия.
Киньшин Алексей пишет: Как вариант хранить значение города или его id в cookies. Затем создать ИБ со значениями, например, названием города и его коэффициентом.
Это уже реализовано. Вопрос про:
Цитата
И в дальнейшем при формировании цен заглядывать в куки, брать значение из ИБ и выполнять определенные действия.
Где это самое формирование цены происходит, можете просветить?
Я нашёл в файле "/bitrix/modules/iblock/classes/general/comp_pricetools.php" функцию CIBlockPriceTools::GetItemPrices($IBLOCK_ID, $arCatalogPrices, $arItem, $bVATInclude = true) Если в нём поменять цену - то она как бы меняется в выводе каталога, в анкетах объектов. А вот при добавлении в корзину цена берётся из другого места.
Цитата
Сергей Затылкин пишет: Я думаю это делается по другому: модифицируется компанент корзина - перед попаданием в нее он пересчитывается с поправкой на коофициент.
Про корзину вы писали, тут надо патчить функцию Add в файле "/bitrix/modules/sale/mysql/basket.php"?