Загрузка файла компонента бэкенда Joomla для пользовательского компонента

Я новичок в Joomla!
Я создаю пользовательский компонент Joomla (3.4.1), и я делаю хороший прогресс. Я использовал почти все поля для одной из форм для добавления / редактирования, все прекрасно работает, за исключением загрузки файла.

На самом деле это сохраняет значение в поле моей таблицы, но я действительно не знаю, как / где написать Joomla! код для загрузки файлов.

я ссылаюсь на эту ссылку https://docs.joomla.org/Creating_a_file_uploader_in_your_component но мне вообще не нужен никакой загрузчик, просто хочу загрузить вручную, также найти поле type = «media», но, похоже, оно позволяет только загружать изображения.

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

Я знаю, что один из методов МОЖЕТ быть в контроллере, чтобы переопределить метод сохранения и начать загрузку.

Но есть ли правильный способ сделать это ???

Спасибо.

2

Решение

Что ж,

Я понял эту вещь таким образом!

Я мой файл контроллера, я написал этот код, вернусь, если получу лучший способ сделать это.

<?php

defined('_JEXEC') or die('Restricted access');
jimport('joomla.filesystem.file');

class HelloWorldControllerHelloWorld extends JControllerForm{
public function save($data = array(), $key = 'id')
{
$jinput = JFactory::getApplication()->input;
$files = $jinput->files->get('jform');

$fileinfo =pathinfo($files['file_name']['name']);

$ext = $fileinfo['extension'];
$filename = time().".$ext";

$tmp_file = $files['file_name']['tmp_name'];
$dest = "media/".JText::_('COM_APISLIDE')."/upload/".$filename;

if (JFile::upload($tmp_file, $dest)) {
// successed :)
} else {
// failed :(
}
parent::save();
}
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]