//sections - список альбомов
//section - альбом со списком фотографий
if(empty($_REQUEST["sid"]))
$componentPage = "sections";
else
$componentPage = "section";
if ($this->StartResultCache(36000000,$componentPage.$_REQUEST["sid"])) // кэширование для нужной страницы
{
if (CModule::IncludeModule("iblock")) {
$iblock_id = $arParams['IBLOCK_ID'];
if($componentPage == "sections") // вывод альбомов
{
$arFilter = array('ACTIVE'=>"Y",'IBLOCK_ID'=>$iblock_id);
$db_list = CIBlockSection::GetList(array('NAME'=>'ASC'), $arFilter, true, array("ID", "NAME", "PICTURE","DATE_CREATE"));
while($ar_result = $db_list->GetNext())
{
$arResult[] = array(
"ID" => $ar_result['ID'],
"NAME" => $ar_result['NAME'],
"ELEMENT_CNT" => $ar_result['ELEMENT_CNT'],
"IMG" => CFile::GetPath($ar_result['PICTURE']),
"DATE_CREATE" => $DB->FormatDate($ar_result['DATE_CREATE'], "DD.MM.YYYY HH:MI:SS", "DD.MM.YYYY"),
);
}
}
elseif($componentPage == "section") // вывод фотографий в альбоме
{
$arFilter = array('ACTIVE'=>"Y",'IBLOCK_ID'=>$iblock_id, SECTION_ID=>$_REQUEST["sid"]);
$db_list = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>$arParams["ITEMS_LIMIT"]), array("ID", "NAME", "PREVIEW_PICTURE", "DETAIL_PICTURE"));
$arIBlockSection = GetIBlockSection($_REQUEST["sid"]);
while($ar_result = $db_list->GetNext())
{
$arResult[] = array(
"ID" => $ar_result['ID'],
"NAME" => $ar_result['NAME'],
"IMG" => CFile::GetPath($ar_result['PREVIEW_PICTURE']),
"IMG_DETAIL" => CFile::GetPath($ar_result['DETAIL_PICTURE']),
"NAME_SEC" => $arIBlockSection["NAME"],
);
}
}
}
$this->IncludeComponentTemplate($componentPage);
} |