Если вам нужно создать простой, быстрый и надежный репозиторий файлов на JOOMLA, то вам может помочь сам сервер APACHE. Опишем этапы создания такого репозитория:
1. Создадим две вложенные директории
/files/files в корне сайта. Если вы пожелаете использовать другие имена директорий, то вам необходимо будет внести
соответствующие правки в дальнейшем.
2. В директорию
/files поместим файл
index.php следующего содержания:
<?php
header("Location:files");
?>
Это необходимо сделать для того, чтобы пользователь, путешествую по директориям вашего репозитория, не смог выйти за его пределы.
3. В директорию
files/files поместим файл
.htaccess с настройками:
RemoveType application/x-httpd-php php php3
Options Indexes FollowSymLinks MultiViews
IndexOptions FancyIndexing ScanHTMLTitles
ReadmeName .footer.html
HeaderName .header.html
Команда
RemoveType application/x-httpd-php php php3 запрещает запускать файлы *.php на выполнение в пределах вашего репозитория. Это полезно сделать, если вы будете давать доступ на размещение файлов в вашем репозитории третим лицам. В этом режиме php файлы не запускаются, а скачиваются как обычые файлы.
Команда
Options Indexes FollowSymLinks MultiViews говорит серверу
APACHE, что в данной директории разрешено сканирование содержимого. Это является ключевой настройкой, которая позволяет организовать репозиторий данного типа в принципе.
Команда
IndexOptions FancyIndexing ScanHTMLTitles позволяет выводить заголовки html-файлов рядом с их именами. Эта опция является полезна, если в вашем репозитории будут хранится HTML-файлы.
Команды
ReadmeName .footer.html, HeaderName .header.html назначают файлы, содержимое которых будет автоматически подставляться в начало и конец страницы репозитории и служат для достижения разнообразных оформительских эффектов.
4. Теперь создайте файлы
.header.html, .footer.html и поместите их в каждую папку в пределах вашего репозитория. Если вы хотите, чтобы ваш репозиторий унаследовал стили вашего шаблона, то в файле .header.html нужно сделать подключение CSS-стилей, например так:
<link rel="stylesheet" type="text/css" href="http://www.gorodbereza.ru/templates/akogreenportal/css/template_css.css" />
(В моем случае идет импорт стилей с шаблона "akogreenportal")
Здесь существует один важный момент. В случае когда файлы заголовков не определены, APACHE автоматически создает заголовки с путём до текущей директории,
например Index of /files/files . Это очень полезная информация, так как показывает координаты директории, которую вы в данный момент просматриваете. Если вы
создаете свой заголовок (файл .
header.html), то в нём будет полезно отразить эту информацию, прописав в каждом файле .
header.html, каждой директории, путь до данной директории.
Использование файлов .
header.html и .
footer.html позволяет сделать из репозитория полноценную HTML-страницу, которую можно гармонично вписать в дизайн вашего сайта. Вот пример репозитория-галереи (в качестве файлов выступают рисунки )
[
ссылка]
5. Осталось самое важное - интегрировать наш репозиторий в JOOMLA. Для этого в админке JOOMLA войдите в окно создания нового элемента меню и выберите тип меню Wrapper. В открывшемся окне настроек впишите:
Name: - Файлы (название пункта меню)
Wrapper Link: - /files/files (путь до вашей директории с файлами)
Auto Height; - yes (активации данной опции является полезной, так как автоматически регулирует высоту окна и избавляет от неэстетической вертикальной полосы
прокрутки)
В остальных опциях можно оставить значения по умолчанию.
Все, репозитарий готов. Он бдует выглядеть примерно как у меня: [
DEMO]
СОЗДАНИЕ ЗАКРЫТОЙ ДИРЕКТОРИИОчень часто вам может понадобиться закрыть некоторые директории от общего доступа. Это также можно сделать средствами APACHE:
В директорию, которую вы хотите закрыть (в моём случае, это директория private) поместите файл .htacces в котором необходимо прописать "секьюрные" настройки,
например:
AuthName "Password Protected"
AuthType Basic
AuthUserFile /www/myproject/passwd.file
require valid-user
Здесь самой важной является опция
AuthUserFile, в которой прописывется путь до файла
passwd.file. В файле passwd.file - хранятся данные авторизации: имя пользователя и хэш-образ пароля.
Пример закрытой директории [
ссылка]
Файл passwd.file создается утилитой
htpasswd, которая входит в состав сервера
APACHE. Более подробно об этом можно узнать [
здесь].
P.S. Если в вашем ропозитории будут отсутствовать иконки файлов, то распакуйте и поместите папку icons в корень вашего сайта [
ссылка]
[вложение удалено Администратором]