День добрый. Дело в том, что при интеграции не учли вопрос по поводу перелистывания страниц каталога, т.е что бы на странице выводилось не более 20 объектов.
сейчас список каталога выводится с помощью вот этого
как сделать чтоб выводилось только по 20 объектов на странице? по идее делаем счетчик, крутим до 20, начинаем вывод с новой страницы и счетчик при этом обнуляем, а как осуществить вывод на новой странице?
сейчас список каталога выводится с помощью вот этого
| Код |
|---|
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Каталог");
?>
<div id="catalog"> <?
if($section_id == 0)
{
$i = 0;
echo '<div class="title">Категории</div>';
echo '<table class="section">';
$sql = CIBlockSection::GetList(Array('SORT'=>'ASC'), Array('IBLOCK_ID'=>1, 'ACTIVE'=>'Y', 'DEPTH_LEVEL'=>1));
while($result = $sql->GetNext())
{
$i++;
if($i == 1) echo '<tr valign="top">';
echo '<td valign="top">';
echo '<a id="bxid_224626" href="'.$result['SECTION_PAGE_URL'].'" ><img id="bxid_258334" src="'.CFile::GetPath($result['PICTURE']).'" alt="'.$result['NAME'].'" /></a><br /><a id="bxid_119290" href="'.$result['SECTION_PAGE_URL'].'" >'.$result['NAME'].'</a>';
echo '</td>';
if($i == 4)
{
echo '</tr>';
$i = 0;
}
}
echo '</table>';
}
else
{
/* breadcrumb */
$arSectionFilter["ID"] = $section_id;
$rsSection = CIBlockSection::GetList(Array(), $arSectionFilter);
if($arSection = $rsSection->GetNext())
{
$rsPath = GetIBlockSectionPath($arSection["IBLOCK_ID"], $arSection["ID"]);
while($arPath = $rsPath->GetNext())
{
$APPLICATION->AddChainItem($arPath["NAME"], $arPath["SECTION_PAGE_URL"]);
}
}
/* -- */
$sorted = $_GET['sorted'];
if(!empty($sorted)) $FIELD = $sorted;
else $FIELD = 'SORT';
$sql = CIBlockElement::GetList(Array($FIELD =>'ASC'), Array('IBLOCK_ID'=>1, 'ACTIVE'=>'Y', 'SECTION_ID'=>$section_id));
if($sql->SelectedRowsCount() > 0)
{
$sql_section = CIBlockSection::GetByID($section_id);
if($result_section = $sql_section->GetNext())
{
$APPLICATION->SetTitle($result_section['NAME']);
if(!empty($result_section['DESCRIPTION'])) echo '<p>'.$result_section['DESCRIPTION'].'</p><br /><br />';
echo '<div style="float:left; margin-right: 3px;">Сортировать по: </div>';
?> <form action="" method="get"> <select name="sorted"> <option value="NAME">Названию товара</option> <option value="catalog_PRICE_2">Цене</option> </select> <input type="image" src="/bitrix/templates/work/images/sort.png" /> </form>
<br />
<br />
<?
echo '<table border="0" style="width: 100%;">';
while($query = $sql->GetNextElement())
{
$result = $query->GetFields();
$sqlPrice = CPrice::GetList(array(), array("PRODUCT_ID"=>$result['ID'], "CATALOG_GROUP_ID"=>2));
$resPrice = $sqlPrice->Fetch();
echo '<tr>';
echo '<td style="font-size: 1.6em; padding-bottom: 3px;" colspan="2"><a id="bxid_525457" href="'.$result['DETAIL_PAGE_URL'].'" style="color: #C52E3D;" >'.$result['NAME'].'</a></td>';
echo '</tr>';
echo '<tr>';
echo '<td style="width: 140px;" valign="top"><a href="'.$result['DETAIL_PAGE_URL'].'" ><img src="'.CFile::GetPath($result['PREVIEW_PICTURE']).'" style="width: 120px;"/></a></td>';
echo '<td valign="top">';
echo $result['PREVIEW_TEXT'];
echo '<table border="1" style="width: 100%;">';
echo '<tr>';
echo '<td style="padding: 5px 0;"><div style="color: #C52E3D; padding: 10px 0;">Цена: '.price($resPrice['PRICE']).'</div>';
echo '<div style="margin-top: 6px;">Количество: <input type="text" name="count" id="q'.$result['ID'].'" style="width: 80px;" value="1" /></div></td>';
echo '<td style="text-align:right; padding: 5px 0;" valign="bottom"><a href="javascript:void(0);" class="add_basket" id="l'.$result['ID'].'"><img src="/bitrix/templates/work/images/buy.jpg" /></a></td>';
echo '</tr>';
echo '</table>';
echo '</td>';
echo '</tr>';
}
echo '</table>';
}
}
else
{
$i = 0;
echo '<table class="section">';
$sql = CIBlockSection::GetList(Array('SORT'=>'ASC'), Array('IBLOCK_ID'=>1, 'ACTIVE'=>'Y', 'SECTION_ID'=>$section_id));
while($result = $sql->GetNext())
{
$i++;
if($i == 1) echo '<tr>';
echo '<td>';
echo '<a id="bxid_349748" href="'.$result['SECTION_PAGE_URL'].'" ><img id="bxid_613880" src="'.CFile::GetPath($result['PICTURE']).'" alt="'.$result['NAME'].'" /></a><br /><a id="bxid_390266" href="'.$result['SECTION_PAGE_URL'].'" >'.$result['NAME'].'</a>';
echo '</td>';
if($i == 4)
{
echo '</tr>';
$i = 0;
}
}
echo '</table>';
$sql = CIBlockSection::GetByID($section_id);
if($result = $sql->GetNext())
{
$APPLICATION->SetTitle($result['NAME']);
echo '<br /><p>'.$result['DESCRIPTION'].'</p>';
}
}
}
?> </div>
<br />
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |
как сделать чтоб выводилось только по 20 объектов на странице? по идее делаем счетчик, крутим до 20, начинаем вывод с новой страницы и счетчик при этом обнуляем, а как осуществить вывод на новой странице?