Вы не зашли.
День добрый!
Необходимо вывести приложенный файл к новости в определенном месте шаблона, то есть отдельно от описания.
Например в описании в админке вставляется ВВкод [attach#1]file.zip[/attach], а хотелось бы реализовать в виде переменной, типа {file_name} и {file_size}, ели два файла то {file_name_2}... и тд.
Можно конечно реализовать через плагин xfields, но там нет опции загрузки файлов, так же хочется что бы после удаления новости, удалялся и файл.
Подскажете пожалуйста, как можно это реализовать?
Не в сети
В SVN версии есть возможность вывода приложенных файлов в своём собственном шаблоне с использованием возможностей шаблонизатора TWIG.
В news.short.tpl / news.full.tpl доступны переменные _images и _files - в них живут все приложенные к новости картинки/файлы (причём вне зависимости от плагина, который эти картинки/файлы прикрепил).
Пример содержимого массива _files:
array (
0 =>
array (
'plugin' => '',
'pidentity' => '',
'url' => 'http://engine.ngcms.ru/uploads/dsn/0a/8a/001/jd-gui-0.3.3.windows.zip',
'name' => 'jd-gui-0.3.3.windows.zip',
'origName' => 'jd-gui-0.3.3.windows.zip',
'description' => '',
),
)
Отсюда уже всё должно быть понятно
1. Как посмотреть содержимое этих массивов (для отладки и понимания) - при помощи TWIG функции debugValue():
[TWIG]Прикрепленные файлы: {{ debugValue(_files) }}<br/>
Прикрепленные картинки: {{ debugValue(_images) }}[/TWIG]
2. Как понять - кто прикрепил файл.
Если поле 'plugin' пустое, то файл прикреплён напрямую к новости, если заполнено, то там стоит ID прикрепившего файл плагина.
3. Как вывести список прикрепленных файлов, считая что плагины файлы прикладывать не могут:
К новости прикреплены следующие файлы:
{% for file in _files %}
* <a href="{{ file.url }}">{{ file.origName }}</a><br/>
{% endfor %}
p.s. В текущей версии размера файла нет.
Не в сети
3. Как вывести список прикрепленных файлов, считая что плагины файлы прикладывать не могут:
К новости прикреплены следующие файлы: {% for file in _files %} * <a href="{{ file.url }}">{{ file.origName }}</a><br/> {% endfor %}
p.s. В текущей версии размера файла нет.
vitaly, а как вывести файли отдельно, к примеру выводить только первый загружений файл, или первый файл в одном месте шаблона другой в другом?
Очень жаль что в этой версии нет информации о размере файла, еще хотелось бы видеть в новой версии и количество скачиваний.
Я думаю было бы полезным создать отдельную ветку на форуме по шаблонизатору TWIG
Не в сети
Я не указал что практически не знаю TWIG:
Это работает:
[TWIG]
К новости прикреплены следующие файлы:
{% for file in _files %}
* <a href="{{ file.url }}">{{ file.origName }}</a><br/>
{% endfor %}
[/TWIG]
А это не работает:
[TWIG]
<a href="{{ file[0].url }}">{{ file[0].origName }}</a><br/>
[/TWIG]
1. SVN 1004
2. Свой шаблон, и на default проверял
3. Надеюсь, в шаблонизаторе чайник
Не в сети