Astra.CMS

 

 

Форум » Приемы конструирования и интеграции дизайна

Приложенное изображение

Стоит ли открыть форум? Напишите об этом по адресу admin@astracms.ru написав в теме "открыть форум". Я не автор движка и поэтому не могу консультировать так, как это делал бы он, но возможно у нас получится совместно находить решения.

Автор Текст сообщения

Роман
Сообщений: 151

Подскажите, пожалуйста, как дать возможность пользователям скачать приложенное изображение? Пока высвечивается только идентификатор. sad
 
aristoc

admin
Сообщений: 1159

Приложенное каким образом?

В шаблоне чтобы сделать ссылку для скачивания зарегистрированного файла по id, нужно использовать функцию download
http://wiki.astracms.ru/smarty/smarty6#download

{download id=идфайла}
 

Роман
Сообщений: 151

а идфайла где взять?
 

Роман
Сообщений: 151

такая конструкция не работает: <a href='{download id=item.img}'>Изображение для рабочего стола</a>
 
aristoc

admin
Сообщений: 1159

Если речь о прикрепленном файле то
{download data=item.files}
Если речь о прикрепленной картинке то
<a href="/{$item.images.0.path}">картинка</a>
 

AlexeyE
Сообщений: 27

1. Я в документации не понял, как конструкцию вида:
{download data=$item.files size=true},
где выводятся массивом файлы на скачивание оформить по своему, т.е. отделить само название файла от его размера, например, поместив их в таблицу или как-то по другому.

2. Еще вопрос, почему конструкция вида {$item.поле} не выводит ссылку на скачивание файла, если поле было создано типа "файл". Выводит только ид файла.
 
aristoc

admin
Сообщений: 1159

1. массив $item.files содержит информацию о каждом файле. Чтобы оформить вывод ссылок по своему, можно просто обходить его через section и выводить нужные поля в цикле.
http://wiki.astracms.ru/modules/catalog/templates#files

2. Да, для доп полей типа файл, доступен только его id. Вывод ссылки для скачивания либо через download, либо сначала получить надо массив с данными о файое через filefata
http://wiki.astracms.ru/smarty/smarty6#filedata
 

AlexeyE
Сообщений: 27

1. все вроде получилось, спасибо, только остался вопрос, почему код:
{section name=i loop=$item.files}
<a href="{$item.files[i].link}">{$item.files[i].link}</a>
{$item.files[i].size}<br />
{/section}
выводит на страницу полный путь к файлу на сервере:
/getfile/178/имя файла.doc 40 Kb
 
aristoc

admin
Сообщений: 1159

Потому что
{$item.files[i].link}
и содержит этот самый путь.
 

Вы не можете добавить сообщение. Вам необходимо авторизироваться на сайте под своим логином либо зарегистрироваться.