2namespace Bitrix\Landing\Hook\Page;
4use \Bitrix\Landing\Manager;
5use \Bitrix\Landing\Hook;
6use \Bitrix\Landing\Field;
7use \Bitrix\Main\Localization\Loc;
8use \Bitrix\Main\ModuleManager;
9use \Bitrix\Main\Loader;
10use \Bitrix\Currency\CurrencyManager;
12Loc::loadMessages(__FILE__);
32 'HIDE_NOT_AVAILABLE' =>
'L',
33 'HIDE_NOT_AVAILABLE_OFFERS' =>
'N',
34 'PRODUCT_SUBSCRIPTION' =>
'Y',
35 'USE_PRODUCT_QUANTITY' =>
'Y',
36 'DISPLAY_COMPARE' =>
'Y',
41 'PRICE_VAT_INCLUDE' =>
'Y',
42 'SHOW_OLD_PRICE' =>
'Y',
43 'SHOW_DISCOUNT_PERCENT' =>
'Y',
44 'USE_PRICE_COUNT' =>
'N',
45 'SHOW_PRICE_COUNT' => 1,
46 'USE_ENHANCED_ECOMMERCE' =>
'Y',
47 'DATA_LAYER_NAME' =>
'dataLayer',
48 'BRAND_PROPERTY' =>
'BRAND_REF',
49 'CART_POSITION' =>
'BL',
66 && Loader::includeModule(
'currency')
69 $defValues[
'CURRENCY_ID'] = CurrencyManager::getBaseCurrency();
82 static $codes =
array();
89 if (ModuleManager::isModuleInstalled(
'catalog'))
93 'IBLOCK_ID',
'SECTION_ID'
96 'HIDE_NOT_AVAILABLE',
'HIDE_NOT_AVAILABLE_OFFERS',
'PRODUCT_SUBSCRIPTION',
97 'USE_PRODUCT_QUANTITY',
'DISPLAY_COMPARE',
'CART_POSITION'
100 'PRICE_CODE',
'USE_PRICE_COUNT',
'SHOW_PRICE_COUNT',
'CURRENCY_ID',
101 'PRICE_VAT_INCLUDE',
'SHOW_OLD_PRICE',
'SHOW_DISCOUNT_PERCENT'
104 'USE_ENHANCED_ECOMMERCE',
'DATA_LAYER_NAME',
'BRAND_PROPERTY'
112 'IBLOCK_ID',
'SECTION_ID'
136 'title' => isset(
$params[
'NAME'])
139 'options' => isset(
$params[
'VALUES'])
142 'multiple' => isset(
$params[
'MULTIPLE'])
150 'title' => isset(
$params[
'NAME'])
159 'title' => isset(
$params[
'NAME'])
167 if ($field && isset(self::getDefaultValues()[
$code]))
169 $field->setValue(self::getDefaultValues()[
$code]);
186 $block = new \Bitrix\Landing\Block(0,
array(
187 'CODE' => self::SOURCE_BLOCK
189 $manifest = $block->getManifest(
193 'miss_subtype' =>
true
197 foreach (array_keys($codes) as
$k)
201 if (isset($manifest[
'nodes'][self::SOURCE_COMPONENT][
'extra'][
$code]))
223 foreach (self::getCodesValues() as $item)
225 $codes = array_merge($codes, $item);
250 $allowedCatalogs =
array();
251 $catalogIncluded = Loader::includeModule(
'catalog');
253 if ($catalogIncluded)
257 'IBLOCK_ID',
'PRODUCT_IBLOCK_ID'
262 $row[
'IBLOCK_ID'] = (int)$row[
'IBLOCK_ID'];
263 $row[
'PRODUCT_IBLOCK_ID'] = (int)$row[
'PRODUCT_IBLOCK_ID'];
264 if ($row[
'PRODUCT_IBLOCK_ID'] > 0)
266 $allowedCatalogs[$row[
'PRODUCT_IBLOCK_ID']] =
true;
270 $allowedCatalogs[$row[
'IBLOCK_ID']] =
true;
275 if (Loader::includeModule(
'iblock'))
277 $res = \CIblock::getList(
286 while ($row =
$res->fetch())
288 $row[
'ID'] = (int)$row[
'ID'];
289 if ($catalogIncluded && !isset($allowedCatalogs[$row[
'ID']]))
293 $catalogs[$row[
'ID']] =
'[' . $row[
'ID'] .
'] ' . $row[
'NAME'];
300 'NAME' => Loc::getMessage(
'LANDING_HOOK_SETTINGS_IBLOCK_ID'),
301 'VALUES' => $catalogs
304 unset($allowedCatalogs);
307 foreach (self::getComponentsParams() as
$code =>
$params)
320 'CHECKBOX',
'AGREEMENT_USE'
328 [
'TC',
'TR',
'CR',
'BR',
'BC',
'BL',
'CL',
'TL'],
339 'NAME' => Loc::getMessage(
'LANDING_HOOK_SETTINGS_CART_POSITION'),
384 $hooks = Hook::getData(
386 Hook::ENTITY_TYPE_SITE
390 foreach (self::getDefaultValues() as
$key => $defValue)
392 if (isset($hooks[
'SETTINGS'][
$key]))
405 $settings[$id][
'IBLOCK_ID'] = $hooks[
'SETTINGS'][
'IBLOCK_ID'] ?? 0;
411 Loader::includeModule(
'crm')
412 && Loader::includeModule(
'catalog')
420 if(isset($hooks[
'SETTINGS'][
'AGREEMENT_USE']))
422 $settings[$id][
'AGREEMENT_USE'] = $hooks[
'SETTINGS'][
'AGREEMENT_USE'];
423 if($hooks[
'SETTINGS'][
'AGREEMENT_USE'] ===
'N')
433 if (isset($hooks[
'SETTINGS'][
'CART_POSITION']))
435 $settings[$id][
'CART_POSITION'] = $hooks[
'SETTINGS'][
'CART_POSITION'];
static getDefaultValues()
static getDataForSite($id=null)
static getCodes($linear=false)
static getComponentsParams()
static getFieldByType($type, $code, $params=array())
static getList(array $parameters=array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code
if(empty($signedUserToken)) $key
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']