Вопрос всё ещё актуален. Прикладываю код шаблона, который и пытаюсь модифицировать для вывода поля для загрузки картинок.
Код |
---|
<?
$IBLOCK_ID = '7';
$SECTION_ID = '8';
$resSections = CIBlockSection::GetList(array(),array('IBLOCK_ID'=>$IBLOCK_ID ,'ID'=>$SECTION_ID, 'ACTIVE'=>'Y','GLOBAL_ACTIVE'=>'Y','INCLUDE_SUBSECTIONS'=>'N'),false,array('ID','NAME','DESCRIPTION'));
while ($arSection = $resSections->GetNext()) {
if ($arSection["DESCRIPTION"]){?>
<div class="private">
<p>
<?=$arSection["DESCRIPTION"]?>
</p>
<div class="clearfix">
</div>
<? }}
$resTabs = CIBlockElement::GetList(array('ID'=>'ASC','NAME'=>'ASC'),array('IBLOCK_ID'=> $IBLOCK_ID,'SECTION_ID'=>$SECTION_ID,'ACTIVE'=>'Y','GLOBAL_ACTIVE'=>'Y','INCLUDE_SUBSECTIONS'=>'N'),false,false,array('ID','NAME','CODE','PREVIEW_TEXT','DETAIL_TEXT' ));
while ($arTab = $resTabs->GetNext())
{
$arFilter = Array("IBLOCK_ID"=> $IBLOCK_ID, "ID"=>$arTab["ID"]);
$res = CIBlockElement::GetList(Array(), $arFilter);
if ($ob = $res->GetNextElement())
{
$arProps = $ob->GetProperties();
//p ($arTab["ID"]);
if (is_array($arProps["LINK_FILES"]["VALUE"]) and count($arProps["LINK_FILES"]["VALUE"]) > 0){
//print "ЕСТЬ ССЫЛКИ<br>";
if (is_array($arProps["LINK_FDESC"]["VALUE"]) and count($arProps["LINK_FDESC"]["VALUE"]) > 0){
//print "ЕСТЬ ОПИСАНИЯ<br>";
if (count($arProps["LINK_FILES"]["VALUE"]) == count($arProps["LINK_FDESC"]["VALUE"])){
//print "КОЛИЧЕСТВО ОБОИХ ОДИНАКОВОЕ<br>";
foreach($arProps["LINK_FILES"]["VALUE"] as $key => $arDetail){
$msc1[$key]["LINK"] = $arDetail;
}
foreach($arProps["LINK_FDESC"]["VALUE"] as $key => $arDetail){
$msc1[$key]["DESC"] = $arDetail;
}
$name[$arTab["NAME"]]["LINKINFO"] = $msc1;
$name[$arTab["NAME"]]["DETAIL_TEXT"]= $arTab["DETAIL_TEXT"];
$name[$arTab["NAME"]]["PREVIEW_TEXT"]= $arTab["PREVIEW_TEXT"];
unset ($msc1);
}else{
// print "КОЛИЧЕСТВО НЕ СОВПОДАЕТ<br>";
if (count($arProps["LINK_FILES"]["VALUE"]) >= count($arProps["LINK_FDESC"]["VALUE"])){
// если файлов больше
foreach($arProps["LINK_FILES"]["VALUE"] as $key => $arDetail1)
{
$msc1[$key]["LINK"] = $arDetail1;
preg_match('/(\w+\.\w+)/i',$arDetail1, $nfile);
//p ($nfile);
$msc1[$key]["DESC"] = $nfile['0'] ;
}
$counter = count($arProps["LINK_FILES"]["VALUE"]);
foreach($arProps["LINK_FDESC"]["VALUE"] as $key => $arDetail2)
{
if($arDetail2){
$msc1[$key]["DESC"] = $arDetail2;
}
}
$name[$arTab["NAME"]]["LINKINFO"] = $msc1;
$name[$arTab["NAME"]]["DETAIL_TEXT"]= $arTab["DETAIL_TEXT"];
$name[$arTab["NAME"]]["PREVIEW_TEXT"]= $arTab["PREVIEW_TEXT"];
unset ($msc1);
}else{
// описаний больше
$counter1 = count($arProps["LINK_FILES"]["VALUE"]);
foreach($arProps["LINK_FILES"]["VALUE"] as $key => $arDetail1)
{
// p($arDetail1);
$msc1[$key]["LINK"] = $arDetail1;
}
$counter = count($arProps["LINK_FILES"]["VALUE"]);
//$counter2 = count($arProps["LINK_DESCRIPTION"]["VALUE"]);
$max = $counter-1;
foreach($arProps["LINK_FDESC"]["VALUE"] as $key2 => $arDetail2)
{
if($arDetail2){
if ($key2 <= $max){
$msc1[$key2]["DESC"] = $arDetail2;
}else {}
}
}
$name[$arTab["NAME"]]["LINKINFO"] = $msc1;
$name[$arTab["NAME"]]["DETAIL_TEXT"]= $arTab["DETAIL_TEXT"];
$name[$arTab["NAME"]]["PREVIEW_TEXT"]= $arTab["PREVIEW_TEXT"];
unset ($msc1);
}
}
}else{
//print "ОПИСАНИЯ ОТСУТСТВУЮТ!<br>";
foreach($arProps["LINK_FILES"]["VALUE"] as $key => $arDetail)
{
$msc1[$key]["LINK"] = $arDetail;
$msc1[$key]["DESC"] = $arDetail;
}
$name[$arTab["NAME"]]["LINKINFO"] = $msc1;
$name[$arTab["NAME"]]["DETAIL_TEXT"]= $arTab["DETAIL_TEXT"];
$name[$arTab["NAME"]]["PREVIEW_TEXT"]= $arTab["PREVIEW_TEXT"];
unset ($msc1);
}
}else{
//print "ССЫЛКИ ОТСУТСТВУЮТ!<br>";
}
}
}
//p ($name);
if($name){
foreach($name as $key1 => $arDetail)
{?>
<div class="csc-header csc-header-n5">
<h3><?=$key1?></h3>
</div>
<? if ($arDetail["PREVIEW_TEXT"] or $arDetail["DETAIL_TEXT"]){?>
<? if ($arDetail["PREVIEW_TEXT"]){?>
<p style="font-style:italic; font-size:11px; color:#777; margin:0;"> <?=$arDetail["PREVIEW_TEXT"]."<br/>"?> </p> <? }
if ($arDetail["DETAIL_TEXT"]){?>
<p style="font-style:italic; font-size:11px; color:#777; margin:0;"> <?=$arDetail ["DETAIL_TEXT"]."<br/>"?> </p>
<? }?>
<? }?>
<div>
<? foreach($arDetail["LINKINFO"] as $info){?>
<? // p($info["LINK"]);
?>
<p class="listfiles"> <a href="<?=$info["LINK"]?>" title="<? if (preg_match('/\((.+?)\)/i',$info["DESC"],$res)){print $res['1'];}else{print $info["DESC"];}?>" target="_blank" class="<?if (preg_match('/[^ ]+\.(zip|rar)/i',$info["LINK"])){print "download-zip";}else{print "download-pdf";}?>"><?=$info["DESC"]?></a>
</p>
<? }?>
</div>
<?}?>
<?}?>
</div> |
Понимаю, что нужно дописать свойства по аналогии с указанными ниже, но не совсем понимаю, как и где
Код |
---|
$name[$arTab["NAME"]]["LINKINFO"] = $msc1;
$name[$arTab["NAME"]]["DETAIL_TEXT"]= $arTab["DETAIL_TEXT"];
$name[$arTab["NAME"]]["PREVIEW_TEXT"]= $arTab["PREVIEW_TEXT"]; |