Я новичок в Joomla!
Я создаю пользовательский компонент Joomla (3.4.1), и я делаю хороший прогресс. Я использовал почти все поля для одной из форм для добавления / редактирования, все прекрасно работает, за исключением загрузки файла.
На самом деле это сохраняет значение в поле моей таблицы, но я действительно не знаю, как / где написать Joomla! код для загрузки файлов.
я ссылаюсь на эту ссылку https://docs.joomla.org/Creating_a_file_uploader_in_your_component но мне вообще не нужен никакой загрузчик, просто хочу загрузить вручную, также найти поле type = «media», но, похоже, оно позволяет только загружать изображения.
Теперь, что следующий шаг, который я должен сделать, чтобы загрузить файл в определенную папку, которая ограничена только для администратора.
Я знаю, что один из методов МОЖЕТ быть в контроллере, чтобы переопределить метод сохранения и начать загрузку.
Но есть ли правильный способ сделать это ???
Спасибо.
Что ж,
Я понял эту вещь таким образом!
Я мой файл контроллера, я написал этот код, вернусь, если получу лучший способ сделать это.
<?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();
}
}
Других решений пока нет …