Pull to refresh

MODx — простой файловый архив на FileDownload v2.6. Усовершенствуем систему редактирования описаний файлов

Reading time4 min
Views4.5K
Здравствуйте! Сегодня я хотел бы поговорить о создании файловых архивов на сайте.

К сожалению, я так и не нашел универсальных средств для этого, есть многим известный сниппет FileDownload v2.6, но последний раз его обновляли в 2007 году. И еще я слышал, что ребята с одного из сайтов о MODx пишут сейчас архив и по окончанию обещают его выложить во всеобщий доступ. Однако если задача не особо сложная (к примеру, банальный список файлов с описаниями для скачки в разделе техподдержка), то вполне подойдет и сниппет FileDownload.

image



Для начала тем, кто еще не пробовал:

File Download 2.6

ссылка на сниппет на modxcms.com
Описание

Техническая информация:
Название: FileDownload
Версия: 2.6
Поддерживает: MODx Evo 1.x.x и ниже
Авторы: Kyle Jaebker, Adam Strzelecki

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

Основные возможности сниппета:
• Подсчет количества скачиваний.
• Возможность отображения описания файлов из чанка.
• Полностью настраиваемый внешний вид с помощью чанков.
• Посетители могут смотреть поддиректории.
• Возможность показа вида файла.
• Возможность показа даты создания и размера файла.
• Возможность разграничения доступа к файлам по группам.

Установка:
• Загрузите папку filedownload в директорию snippets (в папке должно быть 3 файла: filedownload.class.inc.php, data.db.class.inc.php и filecount.txt).
• Создайте новый сниппет — FileDownload.
• Скопируйте содержимое из файла FileDownload2.6.php в новый сниппет.
• Создавайте чанки, которые Вы будете использовать.
• Для отображения списка файлов вызовите сниппет.

Пример вызова:
Простой вызов, с указанием директории с файлами:
[!FileDownload? &getFolder=`assets/snippets/filedownload`!]
Простой вызов, с указанием директории с файлами и разрешением на использование поддиректорий:
[!FileDownload? &getFolder=`assets/snippets/filedownload` &browseDirectories=`1`!]

Список параметров «что бы начать»:

&getFolder
По умолчанию: нет
Значение: список директорий, разделенных запятой
Описание: Параметр getFolder используется для определения директорий, которые будет сканировать сниппет. Если директорий указано несколько параметр &browseDirectories работать не будет. Символ “/” при наборе директорий добавлять не надо.
Примечание:
Если используется вместе с плагин FileDownload Plugin, то директория указывается в TV параметре FileDownloadFolder, а не в параметрах при вызове сниппета
Пример: assets/snippets/filedownload

&browseDirectories
По умолчанию: 0
Значение: [ 1 | 0 ]
Описание: Данный параметр позволяет пользователям просматривать поддиректории в директории, которую Вы укажите в &getFolder. Если Вы используете этот параметр, то задействуются следующие секции в шаблоне: parent & folder.

&getFile
По умолчанию: null
Значение: файл
Описание: при заполнении параметра сниппет выведет только указанный файл. При этом параметр getFolder все равно необходим и файл, указанный в getFile должен находиться в указанной директории. Таким образом, параметр позволяет скачивать и считать скачивания только одного конкретного файла в директории.
Пример: filedownload.php

&chkDesc
По умолчанию: null
Значение: имя чанка
Описание: Данный параметр позволяет добавить описание к файлам. В параметре указывается имя чанка с описаниями. Синтаксис записи в чанке должен быть таким: директория/имя_файла|описание для файла||

Пример:
Имя чанка: fileDescription
Содержание чанка:
assets/snippets/filedownload/test.pdf|This is a test pdf. It shows report stuff.||
assets/snippets/filedownload/options.gif|These are the options available to you.||


Все, этих параметров достаточно, что бы начать использовать сниппет. Остальные параметры Вы можете посмотреть в файле помощи из архива (на английском), здесь или же в архиве с FileDownload Module, о котором ниже.

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

Что ж, для простых надобностей, можно это дело изменить, добавив простой модуль, который я назвал FileDownload Module.

FileDownload Module

– Это дополнение, которое было написано для более удобного добавления и редактирования описаний к файлам.

Установка:
• Создайте новый модуль с именем, например, Редактор описаний Файлового архива.
• Скопируйте содержимое файла FileDownload Module v0.9b.php в окно кода модуля. Не забудьте удалить теги <?php вначале и ?> в конце кода.
• Настройте модуль, путем изменения необходимых Вам параметров в самом коде.

Параметры:
$downloadFolder = 'имя директорий, через запятую'; — список директорий, которые будут сканироваться модулем. Указывайте все директории, которые Вы используете при вызове или различных вызовах сниппета.
$chunkname = 'имя чанка'; — имя чанка, в котором хранятся или будут храниться описания.
$chunkid = 'id чанка'; — id чанка, в котором хранятся или будут храниться описания. Id чанка Вы можете посмотреть в Управление элементами — > Чанки. В скобках, рядом с названием чанка, будет указан Id.

Как это выглядит:

У нас в менеджере модулей появиться новый пункт:
image

А при нажатии на него, с панели модулей, мы увидим вот такой нехитрый интерфейс:
image

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


Итак, файлы для скачивания:

Модуль и документация
Модуль, документация и сам сниппет (все в одном)

Кстати, в архиве «все в одном» есть бонус — иконки различных расширений файлов, которых, почему, в оригинальном архиве не было.

Надеюсь статья, перевод документации сниппета и модуль кому-нибудь пригодятся)
Tags:
Hubs:
Total votes 9: ↑7 and ↓2+5
Comments1

Articles