2015-02-09 3 views
-1

Я использую Bolt CMS и хочу иметь таблицу, включающую все файлы определенного каталога на сервере. Как это можно достичь с помощью шаблона Twig?Loop over files in Twig

+0

вы можете дать более подробную информацию, например, что вы пробовали до сих пор, как будет выглядеть ваш вывод и т. д. – duncan

+0

В этом каталоге есть аудиофайлы, и я хочу создавать ссылки на них, поэтому посетители могут прослушивать файлы, которые, по моему мнению, разбор не проблема, мне просто нужно знать, как это работает. Мне нужно что-то вроде этого: 'PartOfFileNameHere'. Фактически единственное, что я нашел в сети, было на домашней странице Twig, в которой говорится, что существует класс Twig_Loader_Filesystem. Но я новичок в twig и '{{fs = new Twig_Loader_Filesystem ('/ files')}}' или '{{set fs = Twig_Loader_Filesystem ('/ files')}}', похоже, не работает. – wls

ответ

1

Я обнаружил, что работает следующий вызов. Аргумент - это путь в каталоге файлов.

{% набор файлов = app.filesystem.browse ('SomeDirectory') [0]%}

+0

Это действительно работает для меня хорошо, и теперь я могу отказаться от пользовательского расширения. Я немного боролся, поскольку корневой каталог находился под «/ files», а не «/». Но это тоже получилось хорошо. Спасибо за это! – wls

+0

Обновление: в Bolt 3 интерфейс немного изменился, теперь вам нужно использовать '{% set files = app.filesystem.listContents ('files: // SomeDirectory')%}' – wls

0

Это не задача твига. Это должно быть ответственным за уровень контроллера.

Получить список файлов в вашем контроллере (хотя я бы, вероятно, создал для него класс модельного слоя) и передать список вашему представлению, где его нужно только отобразить.

+0

И «уровень контроллера» в Bolt-CMS - это симфония, верно? Как я могу это расширить? У вас есть пример или ссылка на документацию? Извините, я действительно новичок в Bolt и только выполнил некоторые очень простые задачи. – wls

+0

На сайте написано силекс, так что да, эффективно symfony. Никогда не использовал болт, поэтому не может помочь, извините. – Maerlyn

+0

Я решил это, создав небольшое расширение болта, которое возвращает список файлов из каталога. Например, мне нужно только создать ссылки из списка файлов в Twig. – wls