В этой статье я опишу последнее из сложных основных полей SEBLOD – поле загрузки файлов.
SEBLOD - Конструктор контента(CCK) для Joomla. Часть 10. Поле File.

В этой статье я опишу последнее из сложных основных полей SEBLOD – поле загрузки файлов. Для чего оно может понадобится? Например, для создания файлового архива на SEBLOD, или прикрепление файла в форме обратной связи, или в форме заказа. Много чего можно придумать. Иметь в своем арсенале такое поле просто необходимо.

Поле File. Описание.

Как и поле Image, поле File имеет некоторые особенности. Оно подразумевает два места хранения: база данных и файловая система. Сам файл храниться в файловой системе, а информация о том, где именно он находится – в базе данных. Это следует учитывать перед тем, как начинать работать с полем.

Поле File. Настройки.

Рассмотрим основные настройки поля File:

Поле SEBLOD File

Label – Заголовок поля

Default Value – Значение поля по умолчанию

Folder – путь к папке, в которую будут загружаться файлы на вашем сервере. Обязательно должна заканчиваться на «/», например «files/».

Storage Format – формат хранения пути к файлу в базе данных. Хранится либо полный путь, либо только имя файла.

1 Folder / Content – если эта опция установлена в «Да», то к пути к папке(Folder) будет добавляться подпапка, имеющая название такое же, как ID материала, в котором был загружен файл. Например, если вы загрузили файл в материале с ID 33, а в опции Folder у вас установлено «files, то файл будет загружен по адресу «files/33/». Папка «33» будет создана автоматически. Таким образом получится, что каждый загружаемый файл(несколько файлов, если в типе контента несколько полей File) будет содержаться в отдельной папке.

1 Folder / User – если эта опция установлена в «Да», то к пути к папке(Folder) будет добавляться подпапка, имеющее название такое же, как ID пользователя, который загружает файл. Например, если файл загрузил пользователь с ID55, а в опции Folder у вас установлено «files, то файл будет загружен по адресу «files/55/». Папка «55» будет создана автоматически. Таким образом получится, что все файлы, загружаемые одним пользователем, будут содержаться в отдельной папке.

Если и «1 Folder / Content» и «1 Folder / User» установлены в «Да», то применятся оба правила сразу.

Legal Extensions – допустимые типы расширений для загружаемых файлов. Загружены будут только файлы, имеющие эти типы расширений.

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

Show Preview – показывать ли превью загруженного файла. Относится к редактированию материала. В этой опции вы можете указать, что именно будет показано: название файла или просто иконка. Если же выбрано «Hide», то ничего показываться не будет. Выглядит это примерно так:

Поле SEBLOD File

Show Delete Checkbox – аналогично предыдущей опции, позволяет показать отметку для удаления файла. Вообще, реализация удаления файлов сделана очень неудобно. Обычному пользователю сложно понять как этим пользоваться. Но с другой стороны, обычные пользователи и не должны удалять файлы.

Поле SEBLOD File

Show Custom Path – аналогично двум предыдущим опциям, позволяет показать путь к файлу при его редактировании. Не знаю зачем это может понадобиться, но все же.

Поле SEBLOD File

Size – размер(длина) этого поля.

Advanced Mode – позволяет выбрать расширенный режим. Таким образом, данные этого поля будут храниться в формате JSON. Это позволит отдельно задавать для каждого загружаемого файла заголовок(опция Show Title).

Поле SEBLOD File

Вот, собственно, и всё. Теперь немного поговорим о безопасности.

Поле File. Безопасность.

Во-первых, никогда не разрешайте загрузку исполняемых файлов. К таковым относятся, например, .exe, .php, .js, и др. Последствия таких разрешений могут быть весьма плачевными для вас и вашего сайта.

Во-вторых, если вы планируете, что загружаться будут некоторые приватные файлы, то учитывайте то, что по умолчанию, зная название файла и путь к нему, любой желающий сможет его скачать. Путь узнать очень просто. Он становится понятен после получения нескольких ссылок на скачивание разных файлов. По ним можно понять общую структуру хранения. Останется только подобрать правильное имя файла. К сожалению, разработчики не позаботились о безопасности этого поля. Поэтому убедитесь, что с этим нет проблем.

На этом описание основных полей SEBLOD заканчивается. Помимо основных полей есть уже множество дополнительных, куда более интересных. Пока они разбросаны по форуму официального сайта, но вскоре должен появиться каталог расширений SEBLOD, тогда все будет упорядоченно и доступно. Далее в серии статей вы узнаете про оформление SEBLOD, различных трюках, а кроме того, мы с вами создадим множество интереснейших пакетов, в том числе и простой интернет-магазин.

-----------

Кстати, так или иначе, советую получше изучить PHP. Это не только позволит повысить общий уровень работы с Joomla и Seblod, но и значительно облегчит ваше дальнейшее развитие в создании сайтов. Почитать много разного, нужного и интересного о PHP можно на http://www.cyberforum.ru/php/. Это очень популярный форум программистов и сисадминов.

Понравилась статья? Сохраните себе на стену:

Ваша оценка материала очень важна для нас. Просим вас оценить статью или оставить отзыв в комментариях ниже.

4.5384615384615 1 1 1 1 1 4.54

Другие статьи серии

Добавить комментарий

Для отправки комментария введите код с картинки:
Защитный код
Обновить

Комментарии  

0 # RE: SEBLOD - Конструктор контента(CCK) для Joomla. Часть 10. Поле File.Fatall_Error 05.08.2015 14:02
Спасибище огромное, очень познавательные статьи. Жду с нетерпением новых!
Ответить | Ответить с цитатой | Цитировать
0 # RE: SEBLOD - Конструктор контента(CCK) для Joomla. Часть 10. Поле File.Антон Реут 07.02.2015 11:07
Что будет если установить Seblod на сайт на котором уже есть статьи?... У меня кулинарный блог, хочу расширить функционал статьи, не покорёжит ли Себлод мой сайт?...
Ответить | Ответить с цитатой | Цитировать
0 # RE: SEBLOD - Конструктор контента(CCK) для Joomla. Часть 10. Поле File.Wedal 09.02.2015 09:17
Антон, SEBLOD не будет работать с уже созданными статьями, если вы не откроете каждую из них через него и не сохраните заново. Дело в том, что для каждой единицы контента SEBLOD создает отдельную запись у себя в таблице. Без нее он не увидит данную единицу контента в типах поиска. А вообще, вы можете установить SEBLOD на уже действующий сайт.
Ответить | Ответить с цитатой | Цитировать
+1 # нюанс по теме "не запоминаются содержания полей"Василий 05.11.2012 07:06
не запоминаются содержания полей, если папка для размещения отличная от названия "квик фолдер" в чем дело? Может надо выполнить какое то условие?
Ответить | Ответить с цитатой | Цитировать
+1 # нюанс по теме "не запоминаются содержания полей"Олег 18.02.2013 20:35
Цитирую Василий:
не запоминаются содержания полей, если папка для размещения отличная от названия "квик фолдер" в чем дело? Может надо выполнить какое то условие?

Поддерживаю вопрос - поля не сохраняются. где поискать связь таблиц БД и APP folder???
Ответить | Ответить с цитатой | Цитировать
+1 # не запоминается содержание полейВасилий 05.11.2012 06:38
загрузил себлод на свой шаблон (разумеется тиснутый), создал поля, в статье заполнил их содержимое, нажал сохранить и поля очистились. Я не понял. повторил несколько раз, не сохраняется содержание полей. Загрузил себлод на чистую джумлу, все сделал то же самое. Не сохраняет содержание полей. В чем может быть дело? Спасибо за ответ.
Ответить | Ответить с цитатой | Цитировать
0 # продолжениеВасилий 29.10.2012 19:10
Дружище, а когда будет продолжение, я тут начал на себлоде сайт делать, и много вопросов по реализации замыслов... я думаю, что дальнейшие статьи привнесут ясность... Вы не смотрите. что мало человек пишет, читает Вас большая куча народа... С уважением.
Ответить | Ответить с цитатой | Цитировать
+1 # RE: продолжениеWedal 30.10.2012 02:29
Василий, скоро будут. Seblod - сложная штука и на написание даже одной статьи уходит очень много времени, которого и так в обрез + нужна ротация тем, поскольку все-таки не всем читателям интересен Seblod. Напишу новую статью при первой возможности. Запаситесь терпением :-).
Ответить | Ответить с цитатой | Цитировать
+1 # RE: SEBLOD - Конструктор контента(CCK) для Joomla. Часть 10. Поле File.Terradar 19.09.2012 09:25
Спасибо за интересные и полезные стати. Реально, по этой теме в рунете больше ни чё нормального нет... хоть садись и мануал на оф сайте переводи
Вот только долго новые выходять статейки... хочется по быстрей, всего, и сразу ^_^
Ответить | Ответить с цитатой | Цитировать
+3 # RE: SEBLOD - Конструктор контента(CCK) для Joomla. Часть 10. Поле File.Ник 03.09.2012 21:05
Спасибо за Интересный материал. Жду продолжения.
Ответить | Ответить с цитатой | Цитировать

Вверх