%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/catalog.store.list/ |
Current File : /home/bitrix/www/bitrix/components/bitrix/catalog.store.list/component.php |
<? /** @var CBitrixComponent $this */ /** @var array $arParams */ /** @var array $arResult */ /** @var string $componentPath */ /** @var string $componentName */ /** @var string $componentTemplate */ /** @global CDatabase $DB */ /** @global CUser $USER */ /** @global CMain $APPLICATION */ /** @global CCacheManager $CACHE_MANAGER */ use Bitrix\Iblock; if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $arParams['PHONE'] = (isset($arParams['PHONE']) && $arParams['PHONE'] == 'Y' ? 'Y' : 'N'); $arParams['SCHEDULE'] = (isset($arParams['SCHEDULE']) && $arParams['SCHEDULE'] == 'Y' ? 'Y' : 'N'); $arParams['PATH_TO_ELEMENT'] = (isset($arParams['PATH_TO_ELEMENT']) ? trim($arParams['PATH_TO_ELEMENT']) : ''); if ($arParams['PATH_TO_ELEMENT'] == '') $arParams['PATH_TO_ELEMENT'] = 'store/#store_id#'; $arParams['MAP_TYPE'] = (int)(isset($arParams['MAP_TYPE']) ? $arParams['MAP_TYPE'] : 0); $arParams['SET_TITLE'] = (isset($arParams['SET_TITLE']) && $arParams['SET_TITLE'] == 'Y' ? 'Y' : 'N'); $arParams['TITLE'] = (isset($arParams['TITLE']) ? trim($arParams['TITLE']) : ''); if (!isset($arParams['CACHE_TIME'])) $arParams['CACHE_TIME'] = 3600; if ($this->startResultCache()) { if (!\Bitrix\Main\Loader::includeModule("catalog")) { $this->abortResultCache(); ShowError(GetMessage("CATALOG_MODULE_NOT_INSTALL")); return; } $arResult["TITLE"] = GetMessage("SCS_DEFAULT_TITLE"); $arResult["MAP"] = $arParams["MAP_TYPE"]; $arSelect = array( "ID", "TITLE", "ADDRESS", "DESCRIPTION", "GPS_N", "GPS_S", "IMAGE_ID", "PHONE", "SCHEDULE", "SITE_ID" ); $dbStoreProps = CCatalogStore::GetList(array('TITLE' => 'ASC', 'ID' => 'ASC'), array("ACTIVE"=>"Y"), false, false, $arSelect); $arResult["PROFILES"] = array(); $viewMap = false; while ($arProp = $dbStoreProps->GetNext()) { $storeSite = (string)$arProp['SITE_ID']; if ($storeSite != '' && $storeSite != SITE_ID) continue; unset($storeSite); $url = CComponentEngine::makePathFromTemplate($arParams["PATH_TO_ELEMENT"], array("store_id" => $arProp["ID"])); $storeImg = false; $arProp['IMAGE_ID'] = (int)$arProp['IMAGE_ID']; if ($arProp['IMAGE_ID'] > 0) $storeImg = CFile::GetFileArray($arProp['IMAGE_ID']); if (!empty($storeImg)) $storeImg['SRC'] = Iblock\Component\Tools::getImageSrc($storeImg, true); $arProp['IMAGE_ID'] = (empty($storeImg) ? false : $storeImg); if ($arProp["TITLE"]=='' && $arProp["ADDRESS"]!='') $storeName = $arProp["ADDRESS"]; elseif ($arProp["ADDRESS"]=='' && $arProp["TITLE"]!='') $storeName = $arProp["TITLE"]; else $storeName = $arProp["TITLE"]." (".$arProp["ADDRESS"].")"; if ($arParams["PHONE"]=='Y' && $arProp["PHONE"]!='') $storePhone = $arProp["PHONE"]; else $storePhone = null; if ($arParams["SCHEDULE"]=='Y' && $arProp["SCHEDULE"]!='') $storeSchedule = $arProp["SCHEDULE"]; else $storeSchedule = null; if($arProp["GPS_N"] && $arProp["GPS_S"]) { $viewMap=true; $this->abortResultCache(); } $arResult["STORES"][] = array( 'ID' => $arProp["ID"], 'TITLE' => $storeName, 'PHONE' => $storePhone, 'SCHEDULE' => $storeSchedule, 'DETAIL_IMG' => $arProp['IMAGE_ID'], 'GPS_N' => $arProp["GPS_N"], 'GPS_S' => $arProp["GPS_S"], 'STORE_TITLE' => $arProp['TITLE'], 'ADDRESS' => $arProp["ADDRESS"], 'URL' => $url, 'DESCRIPTION' => (string)$arProp['DESCRIPTION'] ); } $arResult['VIEW_MAP'] = $viewMap; $this->includeComponentTemplate(); } if ($arParams['SET_TITLE'] == 'Y') $APPLICATION->SetTitle($arParams['TITLE']);