Здравствуйте. Подскажите пожалуйста. Хочу сделать возможность скачивания файлов через инфоблок.
1. Создаю тип инфоблока "Файлы" в котором содержится свойство DOWNLOAD_FILE типа "файл".
2. В инфоблок загружаю файл
3. Размещаю на странице компонент "Комплексный компонент. Полный каталог"
И теперь надо сделать, что бы все файлы в инфоблоке на странице отображались точно так же. То есть с соблюдением структуры каталогов, аналогично папками Widows: нажимаем на раздел проваливаемся туда и видим список файлов для скачивания.
На форме пишут, что нужно обратиться к свойствам нифоблока
Шаблон секции выглядит следующим образом:
И получить ссылку на файл не получается. Массив элемента <? print_r($arElement); ?> не выводит свойство ['PROPERTIES']. и как в таком случае обратится к файлу?
CFile::GetPath- требудет ID файла. Но ID файла не равно ID элемента, следовательно ссылка формируется не на тот файл.
Подскажите как реализовать такую идею с подкаталогами и файлами?
1. Создаю тип инфоблока "Файлы" в котором содержится свойство DOWNLOAD_FILE типа "файл".
2. В инфоблок загружаю файл
3. Размещаю на странице компонент "Комплексный компонент. Полный каталог"
И теперь надо сделать, что бы все файлы в инфоблоке на странице отображались точно так же. То есть с соблюдением структуры каталогов, аналогично папками Widows: нажимаем на раздел проваливаемся туда и видим список файлов для скачивания.
На форме пишут, что нужно обратиться к свойствам нифоблока
Код |
---|
<a href="<?=$arItem['PROPERTIES']['FILE']['VALUE']?>" target="_blank"> download</a> |
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?> <div class="catalog-section"> <?if($arParams["DISPLAY_TOP_PAGER"]):?> <?=$arResult["NAV_STRING"]?><br /> <?endif;?> <table cellpadding="0" cellspacing="0" border="0"> <?foreach($arResult["ITEMS"] as $cell=>$arElement):?> <? $this->AddEditAction($arElement['ID'], $arElement['EDIT_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_EDIT")); $this->AddDeleteAction($arElement['ID'], $arElement['DELETE_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BCS_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($arElement['ID']);?>"> <table cellpadding="0" cellspacing="2" border="0"> <tr> <?if(is_array($arElement["PREVIEW_PICTURE"])):?> <td valign="top"> <a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arElement["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arElement["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br /> </td> <?elseif(is_array($arElement["DETAIL_PICTURE"])):?> <td valign="top"> <a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["DETAIL_PICTURE"]["SRC"]?>" width="<?=$arElement["DETAIL_PICTURE"]["WIDTH"]?>" height="<?=$arElement["DETAIL_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br /> </td> <?endif?> <td valign="top"><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a>* <? print_r($arElement); ?><br /> и так далее... |
CFile::GetPath- требудет ID файла. Но ID файла не равно ID элемента, следовательно ссылка формируется не на тот файл.
Подскажите как реализовать такую идею с подкаталогами и файлами?