1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
TemplateRegions.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\Landing\Mainpage;
6
7use Bitrix\Main\Application;
8
9enum TemplateRegions: string
10{
11 case EnterpriseWestAr = 'alaio.vibe_enterprise_west_ar';
12 case EnterpriseWestBr = 'alaio.vibe_enterprise_west_br';
13 case EnterpriseWestDe = 'alaio.vibe_enterprise_west_de';
14 case EnterpriseWestEn = 'alaio.vibe_enterprise_west_en';
15 case EnterpriseWestFr = 'alaio.vibe_enterprise_west_fr';
16 case EnterpriseWestId = 'alaio.vibe_enterprise_west_id';
17 case EnterpriseWestIt = 'alaio.vibe_enterprise_west_it';
18 case EnterpriseWestJa = 'alaio.vibe_enterprise_west_ja';
19 case EnterpriseWestKz = 'alaio.vibe_enterprise_west_kz';
20 case EnterpriseWestLa = 'alaio.vibe_enterprise_west_la';
21 case EnterpriseWestMs = 'alaio.vibe_enterprise_west_ms';
22 case EnterpriseWestPl = 'alaio.vibe_enterprise_west_pl';
23 case EnterpriseWestTh = 'alaio.vibe_enterprise_west_th';
24 case EnterpriseWestTr = 'alaio.vibe_enterprise_west_tr';
25 case EnterpriseWestVn = 'alaio.vibe_enterprise_west_vn';
26 //for zones 'cn', 'tc', 'sc'
27 case EnterpriseChineseEn = 'alaio.vibe_enterprise_chinese_en';
28 case EnterpriseChineseSc = 'alaio.vibe_enterprise_chinese_sc';
29 case EnterpriseChineseTc = 'alaio.vibe_enterprise_chinese_tc';
30 //for zones 'ru', 'by', 'kz'
31 case EnterpriseRu = 'bitrix.vibe_enterprise_ru';
32
33 public static function resolve(Templates $code): ?string
34 {
35 $regionCode = null;
36
37 switch ($code)
38 {
40 $portalZone = \CBitrix24::getPortalZone();
41 $lang = Application::getInstance()->getContext()->getLanguage();
42 if (in_array($portalZone, ['ru', 'by', 'kz', 'uz']))
43 {
44 $regionCode = self::EnterpriseRu;
45 }
46 elseif (in_array($portalZone, ['cn', 'tc', 'sc']))
47 {
48 $regionCodes = [
49 'en' => self::EnterpriseChineseEn,
50 'sc' => self::EnterpriseChineseSc,
51 'tc' => self::EnterpriseChineseTc,
52 ];
53 $regionCode = $regionCodes[$lang] ?? self::EnterpriseChineseEn;
54 }
55 else
56 {
57 $regionCodes = [
58 'ar' => self::EnterpriseWestAr,
59 'br' => self::EnterpriseWestBr,
60 'de' => self::EnterpriseWestDe,
61 'en' => self::EnterpriseWestEn,
62 'fr' => self::EnterpriseWestFr,
63 'id' => self::EnterpriseWestId,
64 'it' => self::EnterpriseWestIt,
65 'ja' => self::EnterpriseWestJa,
66 'kz' => self::EnterpriseWestKz,
67 'la' => self::EnterpriseWestLa,
68 'ms' => self::EnterpriseWestMs,
69 'pl' => self::EnterpriseWestPl,
70 'th' => self::EnterpriseWestTh,
71 'tr' => self::EnterpriseWestTr,
72 'vn' => self::EnterpriseWestVn,
73 'ru' => self::EnterpriseWestEn,
74 'ua' => self::EnterpriseWestEn,
75 ];
76 $regionCode = $regionCodes[$lang] ?? self::EnterpriseWestEn;
77 }
78
79 break;
80 }
81
82 return $regionCode?->value;
83 }
84}
$portalZone
Определения .description.php:14
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code
Определения options.php:195
if(!defined('SITE_ID')) $lang
Определения include.php:91
Templates
Определения Templates.php:8
@ Enterprise
Определения Templates.php:9
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393