Очень часто стоит задача "Прикрепить прайс к материалам" или "Сделать возможность прикреплять к новостям файл любого типа для скачивания".
Это совершенно не сложная задача, но у новичков зачастую возникают с этим трудности. Поэтому давайте разберёмся как же это сделать.
Для начала создадим инфоблок для наших материалов и добавим в нём свойство с типом "Файл". Укажем для него код, например "file".
Теперь в настройках компонента news.list нужно указать в поле "Свойства" код, в нашем случае это "file". Иначе в $arResult просто не придёт наше свойство и мы не сможем вывести файл на странице.
И сейчас просто переходим к редактированию шаблона компонента и вставляем в цикле
Успех :) Ссылка на файл появилась.
То же самое нужно будет провернуть и с компонентом news.detail, если вам нужно ещё страница детального просмотра. Единственное отличие тут в том, что в нём нет цикла, т.к. вытягивается только один материал.
Ну а чтобы получить отдельно ссылку на файл или его название/размер и т.д., просто воспользуйтесь в шаблоне выводом массива $arResult
Это совершенно не сложная задача, но у новичков зачастую возникают с этим трудности. Поэтому давайте разберёмся как же это сделать.
Для начала создадим инфоблок для наших материалов и добавим в нём свойство с типом "Файл". Укажем для него код, например "file".
Теперь в настройках компонента news.list нужно указать в поле "Свойства" код, в нашем случае это "file". Иначе в $arResult просто не придёт наше свойство и мы не сможем вывести файл на странице.
И сейчас просто переходим к редактированию шаблона компонента и вставляем в цикле
<?foreach($arResult["ITEMS"] as $arItem):?>строку
<?=$arItem["DISPLAY_PROPERTIES"]["file"]["DISPLAY_VALUE"]?>в нужном вам месте.
Успех :) Ссылка на файл появилась.
То же самое нужно будет провернуть и с компонентом news.detail, если вам нужно ещё страница детального просмотра. Единственное отличие тут в том, что в нём нет цикла, т.к. вытягивается только один материал.
Ну а чтобы получить отдельно ссылку на файл или его название/размер и т.д., просто воспользуйтесь в шаблоне выводом массива $arResult
<pre><?print_r($arResult)?></pre>и найдите необходимые вам параметры.
Комментариев нет:
Отправить комментарий