Русский English Deutsch Українська Қазақша

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

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

Вы не вошли.

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

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

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

День добрый!

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

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

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

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

Вне форума

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

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

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 21:08:34

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

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

vitaly,  спасибо!

Вне форума

#4 2012-07-04 19: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 20:00:07

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

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

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

Вне форума

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

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

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

Djaffar пишет:

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

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

Вне форума

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

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

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

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

Вне форума

#8 2012-07-06 21: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 22:14:30

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

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

а так ? smile

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

Linkum
В ТОП без фильтров и банов - Оптимизм.

Вне форума

#10 2012-07-06 23:27:21

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

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

KhadeR пишет:

а так ? smile

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

big_smile спсб!

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.014 сек, 7 запросов выполнено - Использовано памяти: 547.14 Кбайт (Пик: 568.14 Кбайт) ]