FileLister – это динамичное приложение для построения списка файлов в MODx Revolution. Оно позволяет создавать списки файлов как внутри директории, так и безопасно загружать их через подкаталоги.
Требования
- MODx Revolution 2.0.0-rc-2 или более поздняя версия
- PHP5 или более поздняя версия
История и информация
Приложение FileLister было написано Шоном МакКормиком (Shaun McCormick) как динамичный компонент для построения списков файлов. Впервые вышло 30 июня 2010 года.
С дальнейшими планами по разработке приложения можно ознакомиться здесь roadmap here.
Загрузка
Приложение можно загрузить через установочный пакет MODx Revolution или из базы приложений MODx (MODx Extras Repository). Доступно здесь: http://modxcms.com/extras/package/694.
Разработка и отчет об ошибке
FileLister хранится и разрабатывается на GitHub. Его можно найти здесь: http://github.com/splittingred/FileLister.
Использование
Запустите приложение при помощи тега сниппета и укажите путь.
Сниппеты
В приложении есть один сниппет:
- FileLister
Настройки системы
Имя |
Описание |
filelister.salt |
Соль для навигации |
Примеры
Создает список файлов и каталогов для ресурсов/загрузок
Создает список файлов только в директории «ресурсы/pdfs» ('assets/pdfs')
Создает список файлов и подкаталогов в '/docs/marketing', но не разрешает просмотр и загрузку для пользователей, не зарегистрированных в группах 'Marketing' («Маркетинг») или 'CEO' («Главный Исполнительный Директор»).
Сокращает списки файлов в 'assets/pdfs' до файлов в формате PDF
Шаблон ресурса контента
Это шаблон HTML, который Вам нужно поместить в «Ресурсы», чтобы вывести нужный контент. Для “toPlaceholder” (Подстановщик) нужно установить значение 'files' и сделать FileLister сниппет некэшированным перед использованием HTML.
<p>Current Path: <span><table> <thead> <tr> <th>Name</th> <th>Filesize</th> <th>Last Modified</th> </tr> </thead> <tfoot> <tr> <th colspan="3"> Files: | Directories: </th> </tr> <tbody> <code></code> </tbody> </table>
Сниппет FileLister MODX Revolution
Этот сниппет показывает список файлов и/или каталогов внутри указанного пути.
Использование
Разместите этот сниппет в любом месте и укажите его в пути:
Свойства
Имя |
Описание |
Значение по умолчанию |
|
path |
Путь, с которого нужно начинать просмотр |
|
|
fileTpl |
Чанк для каждого из списка файлов |
feoFile |
|
directoryTpl |
Чанк для каждого из списка каталогов |
feoDirectory |
|
fileLinkTpl |
Чанк для ссылок для каждого из списков |
feoFileLink |
|
dateFormat |
Формат представления дат (PHP) для последнего измененного поля |
%b %d, %Y |
|
outputSeparator |
Разделитель, который добавляется к каждому из списков |
\n |
|
skipDirs |
Разделенный запятыми список каталогов, которые всегда нужно пропускать |
.svn, .git, .metadata, .tmp, .DS_Store, _notes |
|
placeholderPrefix |
Префикс, который добавляется ко всем глобальным подстановщикам, установленным сниппетом |
filelister |
|
pathSeparator |
Разделитель между сгенерированными пунктами в подстановщике пути |
/ |
|
pathTpl |
Чанк для каждого из пунктов + подстановщик пути |
feoPathLink |
|
showFiles |
В случае ошибки скрывает файлы для построения списка |
1 |
|
showDirectories |
В случае ошибки скрывает каталоги для построения списка |
1 |
|
showExt |
Разделенный запятыми список расширений для ограничения вывода файлов с указанным расширением. Если оставить пустым, будут показаны все файлы. Если указаны некоторые расширения, будут показаны только файлы с этими расширениями |
|
|
sortBy |
Параметр (метрика) для сортировки файлов |
filename |
|
sortDir |
Направление для сортировки файлов |
ASC |
|
allowDownload |
В случае ошибки запрещает просмотр и загрузку файлов |
1 |
|
requireAuthDownload |
Если значение верное, предложит пользователю зарегистрироваться для просмотра и загрузки файлов |
0 |
|
allowDownloadGroups |
Разделенный запятыми список, который, если указан, ограничит просмотр/загрузку файлов для пользователей в указанных группах |
|
|
toPlaceholder |
Если заданно значение, установит вывод данных в подстановщик с указанным именем, вместо прямого вывода |
|
|
navKey |
Клавиша управления, используемая перед просмотром |
fd |
|
homePathName |
Если Вы хотите указать имя корневого каталога перед просмотром, сделайте это здесь |
|
|
limit |
По желанию. Ограничивает количество отображаемых записей. При значении «0» отображает все записи |
0 |
|
cls |
CSS класс для неперемежающихся рядов |
feo-row |
|
altCls |
CSS класс для перемежающихся рядов |
feo-alt-row |
|
firstCls |
CSS класс для первого ряда |
feo-first-row |
|
lastCls |
CSS класс для последнего ряда |
feo-last-row |
|
useGeolocation |
Если значение верное, для загрузки будет использован геолокационный сервис ipinfodb. В настройках Вашего API должно быть: filelister.ipinfodb_api_key |
1 |
|
Чанки FileLister
В FileLister обрабатываются 4 чанка. Их соответствующие параметры таковы:
- fileTpl – чанк для каждого файла в списке
- directoryTpl – чанк для каждого файла в списке
- fileLinkTpl – чанк для каждой ссылки, созданной для каждого пункта
- pathTpl – чанк для каждого пункта в подстановщике пути
Примеры
Показывает только файлы с путем 'assets/downloads/'
Чанк FileLister «directoryTpl»
Этот чанк отображается в свойствах &directoryTpl на сниппете FileLister. Используется для каталогов из списка.
Значение по умолчанию
<tr class="">
<td colspan="3" class="feo-dirname"></td>
</tr>
Доступные подстановщики
Имя | Описание |
Link (ссылка) | Ссылка для просмотра каталога |
Filename (имя файла) | Базовое имя каталога |
Path (путь) | Абсолютный путь к каталогу |
relativePath (относительный путь) | Относительный путь к свойствам «пути», введенные в сниппет FileLister |
navKey (клавиша управления) | Клавиша управления для генерирования ссылки |
Чанк FileLister «fileLinkTpl»
Этот чанк отображается в свойствах &fileLinkTpl на сниппете FileLister. Используется для ссылок для всех результатов.
Значение по умолчанию
<strong> <a href=" "> </a>
Имя | Описание |
url | Сгенерированный для просмотра url |
Filename (имя файла) | Базовое имя файла или каталога |
Чанк FileLister «fileTpl»
Этот чанк отображается в свойствах &fileTpl на сниппете FileLister
Значение по умолчанию
<tr class="
">
<td class="feo-filename">
</td>
<td class="feo-filesize">
</td>
<td class="feo-lastmod">
</td>
</tr>
Доступные подстановщики
Имя | Описание |
Link (ссылка) | Ссылка для просмотра или загрузки файла |
Filename (имя файла) | Базовое имя файла |
Filesize (размер файла) | Форматированный размер файла |
Bytesize (размер файла в байтах) | Размер файла в байтах |
Extension (расширение) | Расширение файла |
Lastmod (последнее редактирование) | Дата последнего редактирования файла в формате временной метки |
dateFormat (формат отображения даты) | Формат отображения даты, введенный в сниппет FileLister |
Path (путь) | Абсолютный путь к файлу |
relativePath (относительный путь) | Относительный путь к свойствам «пути», введенные в сниппет FileLister |
navKey (клавиша управления) | Клавиша управления для генерирования ссылки |
Чанк FileLister «pathTpl»
Этот чанк отображается в свойствах &pathTpl на сниппете FileLister
Значение по умолчанию
<a href="
documentation/filelister/?
=
">
</a>
Доступные подстановщики
Имя | Описание |
Dir (каталог) | Имя каталога |
Key (ключ) | Сгенерированный кешированный ключ для навигации |
navKey (клавиша управления) | Клавиша управления для генерирования ссылки |
Separator (разделитель) | Разделитель, введенный между каталогами |