Если у вас в каталоге используется только один уровень, в принципе, можно. Создаете в шаблоне файл .parameters.php типа:
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?
$arTemplateParameters = array(
"LINE_ELEMENT_COUNT" => array(
"NAME" => "Количество элементов в одной строке таблицы",
"TYPE" => "STRING",
"DEFAULT" => "6",
)
);?> |
NAME лучше через getMessage вынести
Дальше берете дефолтный шаблон компонента catalog.section и меняете ITEMS на SECTIONS, удалив все ненужное. В result_modifier.php шаблона лучше поставить проверку на обязательность значения
Примерный код такой будет (не проверял):
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="catalog-section-list">
<table cellpadding="0" cellspacing="0" border="0">
<?foreach($arResult["SECTIONS"] as $cell=>$arSection):?>
<?
$this->AddEditAction($arSection['ID'], $arSection['EDIT_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_EDIT"));
$this->AddDeleteAction($arSection['ID'], $arSection['DELETE_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_DELETE"), array("CONFIRM" => GetMessage('CT_BCSL_ELEMENT_DELETE_CONFIRM')));
?>
<?if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
<tr>
<?endif;?>
<td valign="top" width="<?=round(100/$arParams["LINE_ELEMENT_COUNT"])?>%" id="<?=$this->GetEditAreaId($arSection['ID']);?>">
<a href="<?=$arSection["SECTION_PAGE_URL"]?>"><?=$arSection["NAME"]?><?if($arParams["COUNT_ELEMENTS"]):?> (<?=$arSection["ELEMENT_CNT"]?>)<?endif;?></a>
</td>
<?$cell++;
if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
</tr>
<?endif?>
<?endforeach;?>
<?if($cell%$arParams["LINE_ELEMENT_COUNT"] != 0):?>
<?while(($cell++)%$arParams["LINE_ELEMENT_COUNT"] != 0):?>
<td> </td>
<?endwhile;?>
</tr>
<?endif?>
</table>
</div> |