Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

API: Свойство файл в CIBlock::Add как описать?

00 голосов
5
Как добавить ссылку на файл при выполнении CIBlock::Add? раньше делал, не сохранил и забыл. Фаил лежит в том же каталоге что и PHP скрипт. Ниже мой массив что я формирую для добавления инфблока. Загружается все кроме свойства 59. В него попадает имя файла qwert.zip, без пути. Пробовал с путем относительно корня сайта, не помогло.
Код
$PROP = array();                 
      $PROP[59] = $FILE;
          $arLoadProductArray = Array(           
       "IBLOCK_SECTION_ID" => false,             
        "IBLOCK_ID"      => $IBLOCK,               
        "PROPERTY_VALUES"=> $PROP,            
        "NAME"           => $NAME,         
        "ACTIVE"         => "Y",               
      );
спросил 06 Дек, 13 от hipiro (280 баллов)

5 Ответы

00 голосов
скорее всего CIBlockElement::Add

Может так:
$PROP[59] = CFile::MakeFileArray($FILE);
Что у Вас в $FILE?
ответил 06 Фев, 14 от H9kA (480 баллов)
00 голосов
CIBlockElement::Add - да, именно оно, ошибся когда писал. в $FILE у меня имя файла qwert.zip. Свойство 59 - файл. Когда менял на тип привязка к файлу на сервере и задавал полный путь к файлу, то путь с именем в элемент инфблока попадает, но при просмотре через компоненты news:: оно отображается как строка, а не как ссылка для скачивания
ответил 26 Май, 14 от hipiro (280 баллов)
00 голосов
Цитата
Сергей Курбатов пишет:
CIBlockElement::Add - да, именно оно, ошибся когда писал. в $FILE у меня имя файла qwert.zip. Свойство 59 - файл. Когда менял на тип привязка к файлу на сервере и задавал полный путь к файлу, то путь с именем в элемент инфблока попадает, но при просмотре через компоненты news:: оно отображается как строка, а не как ссылка для скачивания
Ну так сделайте из строки ссылку <a href=".."
ответил 22 Сен, 14 от Almarea (3,760 баллов)
00 голосов
тогда, $PROP[59] = CFile::MakeFileArray($FILE);
только $FILE - полный путь,

$FILE = $_SERVER['DOCUMENT_ROOT'].'/papka/'.$FILE;
$PROP[59] = CFile::MakeFileArray($FILE);
ответил 26 Янв, 15 от H9kA (480 баллов)
00 голосов
2Дмитрий Яковенко
:) в свойство ссылку записывать, а что - выход))

2Сергей Курбатов
вы или файл записывайте в свойство, тогда компонент сам выведел как ссылку или название, но тогда надо подредактить компонент, или сразу ссылку)
ответил 10 Май, 15 от H9kA (480 баллов)