Отправка файлов через форму обратной связи Joomla

Дорогие друзья! Очень часто у пользователей возникает вопрос, как добавить возможность прикладывать файлы или картинки к форме обратной связи Joomla. Именно поэтому мы хотели бы поделиться нашим кодом с вами.

Данное решение актуально для стандартной формы связи Joomla 3 и 2.5

Создание поля загрузки в файл вашего шаблона \templates\НАЗВАНИЕ ШАБЛОНА\html\com_contact\contact\default_form.php

Данная форма должна выглядеть следующим образом:

Для реализации функции прикрепления файлов нам необходимо создать плагин, который запускается из:

Создайте плагин на вашем сайте (или скачайте его внизу). Создайте файл attachment.php в следующей директории:

\plugins\contact\attachment\attachment.php

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

Если вы хотите отправить файлы по электронной почте администратору, то вам придется изменить файл ядра системы Joomla. Для этого откройте

\components\com_contact\controllers\contact.php

Найдите код:

Без данного хака для контактной формы, загрузочный плагин будет сохранять файлы с именами, введенными в полях формы в папку /upload/.... корня вашего хостинга.

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

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