我是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();
}
}