34  /  57

Вывод цен домена (филиала/представительства) в публичной части

Для корректного вывода цен, доступных для домена, на сайте необходимо произвести следующие действия:

  • указать у компонентов, выводящих товары на сайте, перечень типов цен, доступных для данного домена (филиала). Данный пункт является обязательным.
  • у компонентов, выводящих товаров на сайте, указать параметр «Выводить цены в одной валюте». В этом случае так же необходимо обеспечить ежедневный актуальный курс конвертации валют в модуле «Валюты&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