Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2012-06-29 16:51:25

jam214
Участник
Зарегистрирован: 2011-06-20
Сообщений: 30
Рейтинг :   

Вывод приложенного файла в определенном месте шаблона

День добрый!

Необходимо вывести приложенный файл к новости в определенном месте шаблона, то есть отдельно от описания.

Например в описании в админке вставляется ВВкод [attach#1]file.zip[/attach],  а хотелось бы реализовать в виде переменной, типа {file_name} и {file_size}, ели два файла то {file_name_2}... и тд.

Можно конечно реализовать через плагин xfields, но там нет опции загрузки файлов, так же хочется что бы после удаления новости, удалялся и файл.

Подскажете пожалуйста, как можно это реализовать?

Не в сети

#2 2012-06-29 22:03:17

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Вывод приложенного файла в определенном месте шаблона

В 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' => '',
  ),
)

Отсюда уже всё должно быть понятно smile
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 2012-06-29 22:08:34

jam214
Участник
Зарегистрирован: 2011-06-20
Сообщений: 30
Рейтинг :   

Re: Вывод приложенного файла в определенном месте шаблона

vitaly,  спасибо!

Не в сети

#4 2012-07-04 20:05:55

jam214
Участник
Зарегистрирован: 2011-06-20
Сообщений: 30
Рейтинг :   

Re: Вывод приложенного файла в определенном месте шаблона

vitaly пишет:

3. Как вывести список прикрепленных файлов, считая что плагины файлы прикладывать не могут:

К новости прикреплены следующие файлы:
{% for file in _files %}
* <a href="{{ file.url }}">{{ file.origName }}</a><br/>
{% endfor %}

p.s. В текущей версии размера файла нет.

vitaly, а как вывести файли отдельно, к примеру выводить только первый загружений файл, или первый файл в одном месте шаблона другой в другом?

Очень жаль что в этой версии нет информации о размере файла, еще хотелось бы видеть в новой версии и количество скачиваний.

Я думаю было бы полезным создать отдельную ветку на форуме по шаблонизатору TWIG

Не в сети

#5 2012-07-04 21:00:07

Djaffar
Участник
Откуда ZP UA
Зарегистрирован: 2009-09-25
Сообщений: 101
Рейтинг :   
Сайт

Re: Вывод приложенного файла в определенном месте шаблона

По идее вот первый файл из списка: {{ file[0].url }}
Второй и так далее: {{ file[1].url }}

Не в сети

#6 2012-07-05 21:07:52

jam214
Участник
Зарегистрирован: 2011-06-20
Сообщений: 30
Рейтинг :   

Re: Вывод приложенного файла в определенном месте шаблона

Djaffar пишет:

По идее вот первый файл из списка: {{ file[0].url }}
Второй и так далее: {{ file[1].url }}

Что то у меня не получается, как правильно задать условие?

Не в сети

#7 2012-07-06 21:35:49

Djaffar
Участник
Откуда ZP UA
Зарегистрирован: 2009-09-25
Сообщений: 101
Рейтинг :   
Сайт

Re: Вывод приложенного файла в определенном месте шаблона

тест проходит на SVN версии ?
в своём собственном шаблоне ?
с использованием возможностей шаблонизатора TWIG ?

Не в сети

#8 2012-07-06 22:52:12

jam214
Участник
Зарегистрирован: 2011-06-20
Сообщений: 30
Рейтинг :   

Re: Вывод приложенного файла в определенном месте шаблона

Я не указал что практически не знаю 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. Надеюсь, в шаблонизаторе чайник

Не в сети

#9 2012-07-06 23:14:30

KhadeR
Участник
Зарегистрирован: 2009-09-16
Сообщений: 207
Рейтинг :   17 

Re: Вывод приложенного файла в определенном месте шаблона

а так ? smile

[TWIG]
<a href="{{ _files[0].url }}">{{ _files[0].origName }}</a><br/>
[/TWIG]

Не в сети

#10 2012-07-07 00:27:21

jam214
Участник
Зарегистрирован: 2011-06-20
Сообщений: 30
Рейтинг :   

Re: Вывод приложенного файла в определенном месте шаблона

KhadeR пишет:

а так ? smile

[TWIG]
<a href="{{ _files[0].url }}">{{ _files[0].origName }}</a><br/>
[/TWIG]

big_smile спсб!

Не в сети

Подвал раздела

Работает на FluxBB