Для корректного вывода цен, доступных для домена, на сайте необходимо произвести следующие действия:
- указать у компонентов, выводящих товары на сайте, перечень типов цен, доступных для данного домена (филиала). Данный пункт является обязательным.
- у компонентов, выводящих товаров на сайте, указать параметр «Выводить цены в одной валюте». В этом случае так же необходимо обеспечить ежедневный актуальный курс конвертации валют в модуле «Валюты&rauqo;. Данный пункт является обязательным только в том случае, если используются типы цен с валютами, отличными от базовой.
- обеспечить корректный выбор оптимальной цены для расчета стоимости товаров в корзине и в заказе. Данный пункт реализован в ядре модуля.
Указание у компонентов перечня цен, доступных для вывода на домене (в филиале)
Ниже представлен код для реализации первых 2-х пунктов на примере комплексного компонента «Каталог»
Перейдите к странице, содержащей установленный компонент и откройте ее в режиме редактирования PHP кода.
Параметры подключения комплексного компонента для ограничения вывода цен и валюты для домена
"PRICE_CODE" => (CModule::IncludeModule("ammina.regions") ? CAmminaRegions::getGlobalVariable($GLOBALS['AMMINA_REGIONS']['SYS_PRICE_CODE'], array("BASE"), true) : array("BASE")),
"CONVERT_CURRENCY" => "Y",
"CURRENCY_ID" => (CModule::IncludeModule("ammina.regions") ? CAmminaRegions::getGlobalVariable($GLOBALS['AMMINA_REGIONS']['SYS_CURRENCY'], "RUB") : "RUB"),
Данная конструкция является безопасной на случай удаления модуля. Например код присвоения значения ключу PRICE_CODE читается следующим образом:
- если установлен модуль ammina.regions
- вызовем функцию возврата значения глобальной переменной домена с передачей параметра SYS_PRICE_CODE (цены домена)
- если переменная пустая, то вернем массив с кодом цены BASE
- значение всегда возвращаем в виде массива
- иначе установим массив с кодом цены BASE