Цитата |
---|
warenikov пишет: мммм...приветствую...у вас все просто и сложно одновременно) вы какими компонентами пользутесь для вывода? или пока никакими? используете ЧПУ или нет? я бы делал так: 1. на странице каталога разместил бы 2 компонента, первый выводит ПОДРАЗДЕЛЫ текущего раздела, второй ЭЛЕМЕНТЫ текущего раздела. 2. информацию о ТЕКУЩЕМ РАЗДЕЛЕ надо передавать в адресе, есть множество способов, я бы начал с ИД раздела, а в настройках вышестоящих копонентов указал бы, что выводить подразделы и элементы раздела с ИД = $_REQUEST["SECTION_ID"] например |
Знаю мудрю)), в принципе уже разобрался теперь завис над условием))
Захожу в раздел, если есть подразделы вывожу их и если есть элементы то ниже выводятся элементы. Если нет ни того ни другого вывожу надпись "В стадии заполнения". Но у меня сейчас выводит где есть разделы. Знаю что с условиями что то не так, но пипец глаза уже стеклянные. Прикреплю код, посмотрите плиз кому не трудно. Спасибо!
Вывод сообщения там в конце из файлика берется.
все это в template.php
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div style="clear: both;"></div>
<?if($APPLICATION->GetCurPage()=='/catalog/'):?>
<?$count=0;?>
<div id="catalog_menu">
<?for($i=0;$i<count($arResult["SECTIONS"]);$i++):?>
<?if($arResult["SECTIONS"][$i]['DEPTH_LEVEL']==1):?>
<div class="catalog_group row<?if(strlen($arResult["SECTIONS"][$i]['NAME'])>27):?>2<?else:?>1<?endif;?>" <?if($count==2):?> style="clear: both;"<?$count=1;?><?else:?><?$count++;?><?endif;?>>
<div class="fon" style="background: url(<?=$arResult["SECTIONS"][$i]['PICTURE']['SRC']?>) no-repeat 0px 10px; padding-right: 20px;">
<a href="<?=$arResult["SECTIONS"][$i]["SECTION_PAGE_URL"];?>"><?=$arResult["SECTIONS"][$i]['NAME']?></a>
<ul>
<?for($ii=($i+1);$ii<count($arResult["SECTIONS"]);$ii++):?>
<?if($arResult["SECTIONS"][$ii]['DEPTH_LEVEL']==1) {
$i = $ii-1;
break;
}?>
<li><a href="<?=$arResult["SECTIONS"][$ii]["SECTION_PAGE_URL"];?>"><?=$arResult["SECTIONS"][$ii]['NAME']?></a></li>
<?endfor;?>
</ul>
</div>
</div>
<?endif;?>
<?endfor;?>
</div>
<?else:?>
<div id="catalog_sub_rub">
<div class="items">
<?$i=1;?>
<?foreach($arResult["SECTIONS"] as $arSection):?>
<?if($arSection['DEPTH_LEVEL']==$arResult["SECTIONS"][0]['DEPTH_LEVEL']):?>
<?
$IMAGE = '/img/zaglushka.png';
if($arSection['PICTURE']['SRC']) {
$arFileTmp = CFile::ResizeImageGet(
$arSection['PICTURE']['ID'],
array("width" => 160000, "height" => 90),
BX_RESIZE_IMAGE_PROPORTIONAL,
false
);
$IMAGE = $arFileTmp['src'];
}
?>
<div class="item" <?if($i==1):?>style="clear: both;"<?endif;?>>
<div class="img" style="background: url(<?=$IMAGE?>) no-repeat center center;">
<a href="<?=$arSection["SECTION_PAGE_URL"];?>"><img src="/img/pixel.gif" width="160" height="90" border="0"></a>
</div>
<div class="name"><a href="<?=$arSection["SECTION_PAGE_URL"];?>"><?=$arSection['NAME']?></a></div>
</div>
<?$i++;?> <?if($i==5) { $i=1; }?>
<?endif?>
<?endforeach;?>
</div>
<?=$arResult['SECTION']['DESCRIPTION'];?>
</div>
<?endif;?>
<div style="clear: both;"></div>
<!--Дальше выводим выводим элементы-->
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?
$UF_TABLE = FALSE;
$db_list = CIBlockSection::GetList(false, Array('IBLOCK_ID'=>$arResult['IBLOCK_ID'], 'ID'=>$arResult['ID']), false, Array("UF_TABLE"));
if($arSection = $db_list->GetNext()) {
$UF_TABLE = $arSection['UF_TABLE'];
}
$arCompareList = Array();
foreach($_SESSION['CATALOG_COMPARE_LIST'] as $arCompare) {
foreach($arCompare['ITEMS'] as $ELEMENT_ID => $arItem) {
$arCompareList[$arItem['IBLOCK_SECTION_ID']][] = $ELEMENT_ID;
}
}
// epa($arCompareList);
?>
<?if(count($arResult['ITEMS'])>=0):?>
<script type="text/javascript">
$(document).ready(function(){
$(".buy_link_url").click(function(i) {
$(".add2basket_quantity").hide();
$("#item" + $(this).attr('element_id')).show();
return false;
});
$(".close").click(function(i) {
$(".add2basket_quantity").hide();
});
});
</script>
<?
$dbPriceType = CCatalogGroup::GetList();
while ($arPrice = $dbPriceType->Fetch()) {
$arPriceType[$arPrice['NAME']] = 'catalog_PRICE_' . $arPrice['ID'];
}
?>
<?
$strFilter = '';
foreach($_GET as $code => $arValue) {
if(preg_match('/^arrFilter\_/', $code)) {
foreach($arValue as $code1 => $arValue1) {
if(is_array($arValue1)) {
foreach($arValue1 as $code2 => $arValue3) {
$strFilter .= '&' . $code . '[' . $code1 . ']' . '[' . $code2 . ']' . '=' . $arValue3;
}
} else {
$strFilter .= '&' . $code . '[' . $code1 . ']' . '=' . $arValue1;
}
}
}
}
if(strlen($strFilter)) {
$strFilter .= '&set_filter=yes';
}
?>
<div id="catalog_list">
<?if($arResult['PICTURE']):?>
<?$arFileTmp = CFile::ResizeImageGet(
$arResult['PICTURE']['ID'],
array("width" => 300, "height" => 300),
BX_RESIZE_IMAGE_PROPORTIONAL,
false);
?>
<div style="clear: both; margin: 0px 0px 10px 0px; padding: 0px 0px 0px 0px;"><img src="<?=$arFileTmp['src']?>" alt="<?=$arElement['NAME']?>" border="0"></div>
<?endif;?>
<?if($UF_TABLE):?>
<table border="1" class="items_table" cellpadding="0" cellspacing="0" width="100%">
<?foreach($arResult['ITEMS'] as $arElement):?>
<tr class="header">
<td class="params"><b>Артикул</b></td>
<td>Наименование</td>
<?foreach($arElement['PROPERTIES'] as $code => $prop):?>
<?if(substr($code,0,2)=='P_'):?>
<td class="prop"><b><?=$prop['NAME']?></b></td>
<?endif;?>
<?endforeach?>
<td>Ед. изм.</td>
<td class="buy" colspan="2">Цена</td>
</tr>
<?break?>
<?endforeach;?>
<?foreach($arResult['ITEMS'] as $arElement):?>
<tr>
<td class="params">
<?=$arElement['PROPERTIES']['ARTICUL']['VALUE']?>
</td>
<td class="name">
<a name="ite<?=$arElement['ID']?>m"></a><a href="<?=$arElement['DETAIL_PAGE_URL']?>"><?=$arElement['NAME']?></a>
<div class="compare">
<a href="<?echo $arElement["COMPARE_URL"]?>"><?echo GetMessage("CATALOG_COMPARE")?></a>
</div>
</td>
<?foreach($arElement['PROPERTIES'] as $code => $prop):?>
<?if(substr($code,0,2)=='P_'):?>
<td class="prop" align="center">
<?if($prop['VALUE']):?>
<?switch($prop['PROPERTY_TYPE']):
case 'F':
?>
<a target="_blank" href="<?=CFile::GetPath($prop['VALUE'])?>"><?if($prop['DESCRIPTION']):?><?=$prop['DESCRIPTION']?><?else:?>Скачать<?endif;?></a>;
<?break;?>
<?default:?>
<?if(is_array($prop['VALUE'])):?>
<?=implode(', ', $prop['VALUE'])?>;
<?else:?>
<?=$prop['VALUE']?>
<?endif;?>
<?endswitch;?>
<?else:?>
<?endif;?>
</td>
<?endif;?>
<?endforeach?>
<td>
<?foreach($arElement["PRICES"] as $code=>$arPrice):?>
<?if($arPrice["CAN_ACCESS"] && (($code!='all' && CUser::IsAuthorized()) || ($code=='all' && !CUser::IsAuthorized()))):?>
<nowrap><?=$arElement['PROPERTIES']['ED_IZM']['VALUE']?></nowrap>
<?endif;?>
<?endforeach;?>
</td>
<td class="buy">
<?foreach($arElement["PRICES"] as $code=>$arPrice):?>
<?if($arPrice["CAN_ACCESS"] && (($code!='all' && CUser::IsAuthorized()) || ($code=='all' && !CUser::IsAuthorized()))):?>
<?if($arPrice["VALUE"]):?>
<div class="price"><b><?=$arPrice["PRINT_VALUE"]?></b></div>
<?else:?>
<div class="price"><?require($_SERVER["DOCUMENT_ROOT"]."/inc/zakaz_list.php");?></div>
<?endif;?>
<?endif;?>
<?endforeach;?>
<div class="add2basket_quantity" id="item<?=$arElement['ID']?>" style="display: none;">
<div class="descr_quantity">Введите количество:</div>
<form action="<?=$APPLICATION->GetCurPage()?>?show_basket=Y<?/*#ite<?=$arElement['ID']?>m*/?>" method="post">
<input name="action" type="hidden" value="ADD2BASKET">
<input name="id" type="hidden" value="<?=$arElement["ID"]?>">
<input name="quantity" type="text" value="1" class="quantity">
<div class="button">
<input class="input_submit" type="submit" value="<?if($arPrice["VALUE"]):?>Купить<?else:?>Заказать<?endif;?>">
</div>
</form>
<div class="close_quantity"><a class="close">закрыть</a></div>
</div>
</td>
<td>
<div class="buy_link">
<a class="buy_link_url" element_id="<?=$arElement['ID']?>" title="Добавить в корзину" href="<?echo $arElement["ADD_URL"]?>"><?if($arPrice["VALUE"]):?>купить<?else:?>заказать<?endif;?></a>
</div>
</td>
</tr>
<?endforeach;?>
</table>
<?else:?>
<div class="items">
<?foreach($arResult['ITEMS'] as $arElement):?>
<div><a name="ite<?=$arElement['ID']?>m"></a></div>
<div class="item">
<div class="img">
<?if(isset($arElement['DETAIL_PICTURE']['SRC'])):?>
<?$arFileTmp = CFile::ResizeImageGet(
$arElement['DETAIL_PICTURE']['ID'],
array("width" => 100, "height" => 100),
BX_RESIZE_IMAGE_PROPORTIONAL,
false);
?>
<a title="<?=$arElement['NAME']?>" href="<?=$arElement['DETAIL_PAGE_URL']?>"><img src="<?=$arFileTmp['src']?>" alt="<?=$arElement['NAME']?>" border="0"></a>
<?endif;?>
<div class="compare">
<a href="<?echo $arElement["COMPARE_URL"]?>"><?echo GetMessage("CATALOG_COMPARE")?></a>
</div>
</div>
<div class="buy">
<?foreach($arElement["PRICES"] as $code=>$arPrice):?>
<?if($arPrice["CAN_ACCESS"] && (($code!='all' && CUser::IsAuthorized()) || ($code=='all' && !CUser::IsAuthorized()))):?>
<?if($arPrice["VALUE"]):?>
<div class="price"><b><?=$arPrice["PRINT_VALUE"]?></b></div>
<?else:?>
<div class="price"><?require($_SERVER["DOCUMENT_ROOT"]."/inc/zakaz_list.php");?></div>
<?endif;?>
<div class="price_value">за <?=$arElement['PROPERTIES']['ED_IZM']['VALUE']?></div>
<?endif;?>
<?endforeach;?>
<div class="add2basket_quantity" id="item<?=$arElement['ID']?>">
<div class="descr_quantity">Введите количество:</div>
<form action="<?=$APPLICATION->GetCurPage()?>?show_basket=Y<?/*#ite<?=$arElement['ID']?>m*/?>" method="post">
<input name="action" type="hidden" value="ADD2BASKET">
<input name="id" type="hidden" value="<?=$arElement["ID"]?>">
<input name="quantity" type="text" value="1" class="quantity">
<div class="button">
<input class="input_submit" type="submit" value="<?if($arPrice["VALUE"]):?>Купить<?else:?>Заказать<?endif;?>">
</div>
</form>
<div class="close_quantity"><a class="close">закрыть</a></div>
</div>
<div class="buy_link">
<a class="buy_link_url" element_id="<?=$arElement['ID']?>" title="Добавить в корзину" href="<?echo $arElement["ADD_URL"]?>"><?if($arPrice["VALUE"]):?>купить<?else:?>заказать<?endif;?></a>
</div>
</div>
<div class="name"><a href="<?=$arElement['DETAIL_PAGE_URL']?>"><?=$arElement['NAME']?></a></div>
<div class="props">
<?foreach($arElement['PROPERTIES'] as $code => $prop):?>
<?if($prop['VALUE'] && substr($code,0,2)=='P_'):?>
<div class="prop"><b><?=$prop['NAME']?>:</b>
<?switch($prop['PROPERTY_TYPE']):
case 'F':
?>
<a target="_blank" href="<?=CFile::GetPath($prop['VALUE'])?>"><?if($prop['DESCRIPTION']):?><?=$prop['DESCRIPTION']?><?else:?>Скачать<?endif;?></a>;
<?break;?>
<?default:?>
<?if(is_array($prop['VALUE'])):?>
<?=implode(', ', $prop['VALUE'])?>;
<?else:?>
<?=$prop['VALUE']?>;
<?endif;?>
<?endswitch;?>
</div>
<?endif;?>
<?endforeach?>
</div>
<div class="params">
<b>Артикул:</b> <?=$arElement['PROPERTIES']['ARTICUL']['VALUE']?>
</div>
</div>
<div class="delimeter"></div>
<?endforeach;?>
</div>
<?endif;?>
</div>
<div class="paginator">
<?=$arResult["NAV_STRING"]?>
</div>
<?else:?>
<?$APPLICATION->IncludeComponent(
"bitrix:main.include",
"",
Array(
"AREA_FILE_SHOW" => "file",
"PATH" => "/inc/catalog_no_records.php",
"EDIT_TEMPLATE" => ""
),
false
);?>
<?endif;?>
|