<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Каталог продукции");
?>IncludeFile("/customers/submenu.php", Array(), Array("MODE" =&gt; "html", "NAME" =&gt; "Верхнее подменю")); /** * RENDER CATALOG */ echo renderCatalog(); /** * ---------------------------- * * FUNCTIONS * * ---------------------------- */ /** * @return string */ function renderCatalog() { $res = ''; global $page0; $type = $page0; $config = array( "tags" =&gt; array( "lumber" =&gt; array( "tags" =&gt; "Пиломатериалы" ),/* "planed" =&gt; array( "tags" =&gt; "Строганная продукция" ),*/ "raw" =&gt; array( "tags" =&gt; "Сырьё для различных производств" ), "biofuels" =&gt; array( "tags" =&gt; "Биотопливо" ) ), 'tag_default' =&gt; 'lumber', 'iid' =&gt; 3, 'type' =&gt; $type, 'section' =&gt; 'customers/catalog', 'pagination' =&gt; array('limit' =&gt; 12) ); $config['tag_active'] = !empty($_GET['tag']) ? $_GET['tag'] : $config['tag_default']; $items = getCatalogItems($config); $res = '<br>
 ' . getHtmlCatalogNav($config) . bmFig( array( 'position' =&gt; '6', 'header' =&gt; 'Информация для покупателей', 'css' =&gt; 'bm-fig--catalog', 'content' =&gt; array( array ( 'title' =&gt; 'Контакты', 'desc' =&gt; '
<p>
     Менеджер по продажам пеллет<br>
     Александр Александрович Заостровцев<br>
     +7 (921) 491-09-10&nbsp;<a href="mailto:A.z@ulkust.ru">A.z@ulkust.ru</a>
</p>
<p>
     Маркевич Василиса&nbsp;<a href="mailto:markevich.v@ulkust.ru">markevich.v@ulkust.ru</a>
</p>
<p>
     '
</p>
<p>
     Сертификат NC-COC-014234<br>
</p>
 ' ), array ( 'title' =&gt; 'Отгрузка продукции', 'desc' =&gt; '
<p>
     Отгрузка щепы и круглых лесоматериалов производится железнодорожным и автомобильным транспортом.
</p>
 ' ) ) ) ) // side figure . getHtmlCatalogItems($config, $items) . '<br>
 '; return $res; }; /** * @return string */ function getHtmlCatalogNav($config) { $res = ''; $section = $config['section']; $tag = $config['tag_active']; $items = ''; foreach($config['tags'] as $tagKey =&gt; $tagArray) { $tagVal = $tagArray['tags']; if ($tag == $tagKey) $items .= ''.$tagVal.''; else $items .= '<a href="http://ulkust.ru/'.$section.'/'.$tagKey.'/">'.$tagVal.'</a>'; } $res .= '<nav>'.$items.'<br>
 </nav>'; return $res; } /** * @return string */ function getCatalogItems($config) { if(!CModule::IncludeModule('iblock')) return NULL; //TODO: check null response $pagination = array( 'limit' =&gt; $config['pagination']['limit'], 'page' =&gt; strlen($_GET['page'])&gt;0?$_GET['page']:1 ); $items = array(); $i = 0; $type = $config['type']; $tagActive = $config['tag_active']; $iid = $config['iid']; //echo '1'.$config['tags'][$tagActive]['tags'].'1'; $arSelect = Array("ID", "NAME", "DETAIL_TEXT", "DETAIL_PICTURE", "ACTIVE_FROM", "PROPERTIES", "PROPERTY_FILE", "PROPERTY_AUTHOR", "PROPERTY_VIDEO", "TAGS", "PROPERTY_PERIOD"); $arFilter = Array("IBLOCK_ID"=&gt;$iid, "ACTIVE"=&gt;"Y", "TAGS" =&gt; $config['tags'][$tagActive]['tags']); //array_push($arFilter, $config[$type]['filter']); $arNav = array( "iNumPage" =&gt; $pagination['page'], "nPageSize" =&gt; $pagination['limit'] ); if (isset($config[$type]['limit'])) { $arNav['nTopCount'] = $config[$type]['limit']; } $res = CIBlockElement::GetList(Array("SORT"=&gt;"ASC", "active_from" =&gt; "DESC"), $arFilter, false, $arNav, $arSelect); $pagination['news_length'] = $res-&gt;SelectedRowsCount(); $pagination['length'] = ceil($pagination['news_length']/$pagination['limit']); ?&gt; GetNext()) { /** * get photos * call global funciton */ $item["PHOTOS"] = getPhotos( $iid, $item["ID"], array( 'PHOTO' =&gt; array('width' =&gt; 340, 'height' =&gt; 298), 'PHOTO_BIG' =&gt; array('width' =&gt; 1640, 'height' =&gt; 1470), 'PHOTO_SMALL' =&gt; array('width' =&gt; 110, 'height' =&gt; 99) )); $items[] = $item; } return $items; } function getHtmlCatalogItems($config, $items) { $res = ''; foreach ($items as $item) { $title = $item['NAME']; $desc = $item['DETAIL_TEXT']; $item['fancy'] = true; $res .= '<br>
 ' . $title . '<br>
 ' . $desc . renderCardGallery($item) .'<br>
 ' ; } $res = '<br>
 ' . $res . '<br>
 '; return $res; } function renderCardGallery($item) { $fancy = $item['fancy']; $thumbs = false; $resPhotoFrame = ''; // html for main photo $resThumbs = ''; // html for photo thumbs $resDescs = ''; $photoSize = sizeof($item["PHOTOS"]); $single = $photoSize == 1 ? true : false; foreach($item["PHOTOS"] as $i =&gt; $photo) { $resPhotoFrame .= '<br>
 '; if ($fancy) $resPhotoFrame .= '<a href="http://ulkust.ru/customers/catalog/raw/'%20.%20$photo['PHOTO_BIG']['src']%20.%20'">'; else $resPhotoFrame .= '</a><a href="http://ulkust.ru/customers/catalog/raw/'%20.%20$photo['PHOTO_BIG']['src']%20.%20'">'; $resPhotoFrame .= '<img src="' . $photo['PHOTO']['src'] . '">'; if ($fancy) $resPhotoFrame .= '</a>'; else $resPhotoFrame .= '<br>
 '; $resPhotoFrame .= '<br>
 '; $resThumbs .= '<br>
 <img src="' . $photo['PHOTO_SMALL']['src'] . '"><br>
 '; $resDescs .= '<br>
 ' . $photo['desc'] . '<br>
 '; } $resPhotoFrame = '<br>
 ' . $resPhotoFrame . '<br>
 '; $resThumbs = $thumbs ? '<br>
 ' . $resThumbs . '<br>
 ' : ''; $resPhotoBottom = '<br>
 ' . $resDescs . '<br>
 ' . htmlPagination($photoSize) . '<br>
 '; $res = $resPhotoFrame . $resThumbs . $resPhotoBottom; $res = '<br>
 ' . $res . '<br>
 '; return $res; } function htmlPagination($size) { if ($size &lt; 2) return ''; // $left = file_get_contents('../../i/ico/pagination-left.svg', FILE_USE_INCLUDE_PATH); // $right = file_get_contents('../../i/ico/pagination-right.svg', FILE_USE_INCLUDE_PATH); $left = _getLeft(); $right = _getRight(); $res = '<br>
 '.$left.'&nbsp;1&nbsp;/ ' . $size . '&nbsp;'.$right.'<br>
 '; return $res; } function _getLeft(){ return ''; } function _getRight(){ return ''; } ?&gt;<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>