| Current Path : /var/www/homesaver/www/local/templates/aspro_next/components/bitrix/news/shops/ |
| Current File : /var/www/homesaver/www/local/templates/aspro_next/components/bitrix/news/shops/news.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?$this->setFrameMode(true);?>
<?
$arItemsFilter = CNext::GetIBlockAllElementsFilter($arParams);
if(!($bMap = in_array('MAP', $arParams['LIST_PROPERTY_CODE']))){
$itemsCnt = CNextCache::CIBlockElement_GetList(array('CACHE' => array('TAG' => CNextCache::GetIBlockCacheTag($arParams['IBLOCK_ID']))), $arItemsFilter, array());
}
else{
// get items & coordinates
$arItems = CNextCache::CIBlockElement_GetList(array('CACHE' => array('TAG' => CNextCache::GetIBlockCacheTag($arParams['IBLOCK_ID']), 'URL_TEMPLATE' => $arResult['FOLDER'].$arResult['URL_TEMPLATES']['detail'])), $arItemsFilter, false, false, array('ID', 'NAME', 'DETAIL_PAGE_URL', 'PREVIEW_TEXT', 'PROPERTY_ADDRESS', 'PROPERTY_PHONE', 'PROPERTY_EMAIL', 'PROPERTY_SCHEDULE', 'PROPERTY_METRO', 'PROPERTY_MAP'));
$itemsCnt = count($arItems);
}
// print_r($arItems);
if($bMap && $itemsCnt){
foreach($arItems as $arItem){
// element coordinates
$arItem['GPS_S'] = $arItem['GPS_N'] = false;
if($arStoreMap = explode(',', $arItem['PROPERTY_MAP_VALUE'])){
$arItem['GPS_S'] = $arStoreMap[0];
$arItem['GPS_N'] = $arStoreMap[1];
}
// use detail link?
$bDetailLink = $arParams['SHOW_DETAIL_LINK'] !== 'N' && (!strlen($arItem['DETAIL_TEXT']) ? ($arParams['HIDE_LINK_WHEN_NO_DETAIL'] !== 'Y' && $arParams['HIDE_LINK_WHEN_NO_DETAIL'] != 1) : true);
$html = '';
// element name
if(in_array('NAME', $arParams['LIST_FIELD_CODE']) && strlen($arItem['NAME'])){
$html .= '<div class="title">';
if($bDetailLink){
$html .= '<a class="dark_font" href="'.$arItem['DETAIL_PAGE_URL'].'">';
}
$html .= $arItem['NAME'];
$bAddress = in_array('ADDRESS', $arParams['LIST_PROPERTY_CODE']) && ($arItem['PROPERTY_ADDRESS_VALUE'] || (!is_array($arItem['PROPERTY_ADDRESS_VALUE']) && strlen($arItem['PROPERTY_ADDRESS_VALUE'])));
if($bAddress){
$value = (is_array($arItem['PROPERTY_ADDRESS_VALUE']) ? implode('<br />', $arItem['PROPERTY_ADDRESS_VALUE']) : (strlen($arItem['PROPERTY_ADDRESS_VALUE']) ? $arItem['PROPERTY_ADDRESS_VALUE'] : ''));
if($value){
$html .= ((strlen($arItem['NAME']) && strlen($value)) ? ', ' : '').$value;
}
}
if($bDetailLink){
$html .= '</a>';
}
$html .= '</div>';
}
$html .= '<div class="info-content">';
// element metro
$bMetro = in_array('METRO', $arParams['LIST_PROPERTY_CODE']) && ($arItem['PROPERTY_METRO_VALUE'] || (!is_array($arItem['PROPERTY_METRO_VALUE']) && strlen($arItem['PROPERTY_METRO_VALUE'])));
if($bMetro){
if($bMetro){
$value = (is_array($arItem['PROPERTY_METRO_VALUE']) ? implode(', ', $arItem['PROPERTY_METRO_VALUE']) : (strlen($arItem['PROPERTY_METRO_VALUE']) ? $arItem['PROPERTY_METRO_VALUE'] : ''));
if($value){
$html .= '<div class="metro"><i></i>'.$value.'</div>';
}
}
}
// element schedule
if(in_array('SCHEDULE', $arParams['LIST_PROPERTY_CODE']) && ($arItem['PROPERTY_SCHEDULE_VALUE'] || strlen($arItem['PROPERTY_SCHEDULE_VALUE']))){
$html .= '<div class="schedule">'.$arItem['~PROPERTY_SCHEDULE_VALUE']['TEXT'].'</div>';
}
// element phone
if(in_array('PHONE', $arParams['LIST_PROPERTY_CODE']) && ($arItem['PROPERTY_PHONE_VALUE'] || (!is_array($arItem['PROPERTY_PHONE_VALUE']) && strlen($arItem['PROPERTY_PHONE_VALUE'])))){
if(is_array($arItem['PROPERTY_PHONE_VALUE'])){
$values = array();
foreach($arItem['PROPERTY_PHONE_VALUE'] as $value){
$values[] = '<a href="tel:'.str_replace(array(' ', ',', '-', '(', ')'), '', $value).'">'.$value.'</a>';
}
$html .= '<div class="phone">'.implode('<br>', $values).'</div>';
}
elseif(strlen($arItem['PROPERTY_PHONE_VALUE'])){
$html .= '<div class="phone"><a href="tel:'.str_replace(array(' ', ',', '-', '(', ')'), '', $arItem['PROPERTY_PHONE_VALUE']).'">'.$arItem['PROPERTY_PHONE_VALUE'].'</a></div>';
}
}
// element email
if(in_array('EMAIL', $arParams['LIST_PROPERTY_CODE']) && ($arItem['PROPERTY_EMAIL_VALUE'] || (!is_array($arItem['PROPERTY_EMAIL_VALUE']) && strlen($arItem['PROPERTY_EMAIL_VALUE'])))){
if(is_array($arItem['PROPERTY_EMAIL_VALUE'])){
$values = array();
foreach($arItem['PROPERTY_EMAIL_VALUE'] as $value){
$values[] = '<a href="mailto:'.$value.'">'.$value.'</a>';
}
$html .= '<div class="email">'.implode(', ', $values).'</div>';
}
elseif(strlen($arItem['PROPERTY_EMAIL_VALUE'])){
$html .= '<div class="email"><a href="mailto:'.$arItem['PROPERTY_EMAIL_VALUE'].'">'.$arItem['PROPERTY_EMAIL_VALUE'].'</a></div>';
}
}
$html .= '</div>';
// detail page link
if($bDetailLink){
$html .= '<a class="button" href="'.$arItem['DETAIL_PAGE_URL'].'"><span>'.GetMessage('T_SHOPS_DETAIL').'</span></a>';
}
// add placemark to map
if($arItem['GPS_S'] && $arItem['GPS_N']){
$mapLAT += $arItem['GPS_S'];
$mapLON += $arItem['GPS_N'];
$arPlacemarks[] = array(
"ID" => $arItem["ID"],
"LAT" => $arItem['GPS_S'],
"LON" => $arItem['GPS_N'],
"TEXT" => $arItem['NAME'],
"HTML" => $html,
);
}
}
// map?>
<div class="contacts_map">
<?Bitrix\Main\Page\Frame::getInstance()->startDynamicWithID('shops-map-block');?>
<?if($arParams["MAP_TYPE"] != "0"):?>
<?$APPLICATION->IncludeComponent(
"bitrix:map.google.view",
"map",
array(
"INIT_MAP_TYPE" => "ROADMAP",
"MAP_DATA" => serialize(array("google_lat" => $mapLAT, "google_lon" => $mapLON, "google_scale" => 15, "PLACEMARKS" => $arPlacemarks)),
"MAP_WIDTH" => "100%",
"MAP_HEIGHT" => "400",
"CONTROLS" => array(
),
"OPTIONS" => array(
0 => "ENABLE_DBLCLICK_ZOOM",
1 => "ENABLE_DRAGGING",
),
"MAP_ID" => "",
"ZOOM_BLOCK" => array(
"POSITION" => "right center",
),
"API_KEY" => $arParams["GOOGLE_API_KEY"],
"COMPONENT_TEMPLATE" => "map",
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO"
),
false,
array(
"HIDE_ICONS" => "Y"
)
);?>
<?else:?>
<?
$mapLAT = floatval($mapLAT / count($arItems));
$mapLON = floatval($mapLON / count($arItems));
?>
<?$APPLICATION->IncludeComponent(
"bitrix:map.yandex.view",
"",
array(
"INIT_MAP_TYPE" => "ROADMAP",
"MAP_DATA" => serialize(array("yandex_lat" => $mapLAT, "yandex_lon" => $mapLON, "yandex_scale" => 4, "PLACEMARKS" => $arPlacemarks)),
"MAP_WIDTH" => "100%",
"MAP_HEIGHT" => "400",
"CONTROLS" => array(
0 => "ZOOM",
1 => "SMALLZOOM",
3 => "TYPECONTROL",
4 => "SCALELINE",
),
"OPTIONS" => array(
0 => "ENABLE_DBLCLICK_ZOOM",
1 => "ENABLE_DRAGGING",
),
"MAP_ID" => "",
"ZOOM_BLOCK" => array(
"POSITION" => "right center",
),
"COMPONENT_TEMPLATE" => "map",
"API_KEY" => $arParams["GOOGLE_API_KEY"],
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO"
),
false, array("HIDE_ICONS" =>"Y")
);?>
<?endif;?>
<?Bitrix\Main\Page\Frame::getInstance()->finishDynamicWithID('shops-map-block', '');?>
</div>
<?}
?>
<?$APPLICATION->IncludeComponent(
"bitrix:news.list",
"shops",
Array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"NEWS_COUNT" => $arParams["NEWS_COUNT"],
"SORT_BY1" => $arParams["SORT_BY1"],
"SORT_ORDER1" => $arParams["SORT_ORDER1"],
"SORT_BY2" => $arParams["SORT_BY2"],
"SORT_ORDER2" => $arParams["SORT_ORDER2"],
"FIELD_CODE" => $arParams["LIST_FIELD_CODE"],
"PROPERTY_CODE" => $arParams["LIST_PROPERTY_CODE"],
"DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["detail"],
"SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"],
"IBLOCK_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["news"],
"DISPLAY_PANEL" => $arParams["DISPLAY_PANEL"],
"SET_TITLE" => "N",
"SET_STATUS_404" => $arParams["SET_STATUS_404"],
"INCLUDE_IBLOCK_INTO_CHAIN" => $arParams["INCLUDE_IBLOCK_INTO_CHAIN"],
"ADD_SECTIONS_CHAIN" => $arParams["ADD_SECTIONS_CHAIN"],
"ADD_ELEMENT_CHAIN" => $arParams["ADD_ELEMENT_CHAIN"],
"CACHE_TYPE" => 'A', // for map!
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_FILTER" => $arParams["CACHE_FILTER"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"DISPLAY_TOP_PAGER" => $arParams["DISPLAY_TOP_PAGER"],
"DISPLAY_BOTTOM_PAGER" => $arParams["DISPLAY_BOTTOM_PAGER"],
"PAGER_TITLE" => $arParams["PAGER_TITLE"],
"PAGER_TEMPLATE" => $arParams["PAGER_TEMPLATE"],
"PAGER_SHOW_ALWAYS" => $arParams["PAGER_SHOW_ALWAYS"],
"PAGER_DESC_NUMBERING" => $arParams["PAGER_DESC_NUMBERING"],
"PAGER_DESC_NUMBERING_CACHE_TIME" => $arParams["PAGER_DESC_NUMBERING_CACHE_TIME"],
"PAGER_SHOW_ALL" => $arParams["PAGER_SHOW_ALL"],
"PAGER_BASE_LINK_ENABLE" => $arParams["PAGER_BASE_LINK_ENABLE"],
"PAGER_BASE_LINK" => $arParams["PAGER_BASE_LINK"],
"PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"],
"DISPLAY_DATE" => $arParams["DISPLAY_DATE"],
"DISPLAY_NAME" => "Y",
"DISPLAY_PICTURE" => $arParams["DISPLAY_PICTURE"],
"DISPLAY_PREVIEW_TEXT" => $arParams["DISPLAY_PREVIEW_TEXT"],
"PREVIEW_TRUNCATE_LEN" => $arParams["PREVIEW_TRUNCATE_LEN"],
"ACTIVE_DATE_FORMAT" => $arParams["LIST_ACTIVE_DATE_FORMAT"],
"USE_PERMISSIONS" => $arParams["USE_PERMISSIONS"],
"GROUP_PERMISSIONS" => $arParams["GROUP_PERMISSIONS"],
"FILTER_NAME" => $arParams["FILTER_NAME"],
"HIDE_LINK_WHEN_NO_DETAIL" => $arParams["HIDE_LINK_WHEN_NO_DETAIL"],
"CHECK_DATES" => $arParams["CHECK_DATES"],
),
$component
);?>