Здравствуйте. Подскажите пожалуйста. Хочу сделать возможность скачивания файлов через инфоблок.
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 элемента, следовательно ссылка формируется не на тот файл.
Подскажите как реализовать такую идею с подкаталогами и файлами?
