Como salvar o nome do arquivo carregado no banco de dados
Cont. -Adicione o File Uploader ao Joomla Admin Component
Eu poderia fazer o upload do arquivo e salvá-lo no disco. Mas não é salvar o nome do arquivo no banco de dados.
Como eu posso fazer isso ?
Aqui está o controlador -
class InvoiceManagerControllerInvoiceManager extends JControllerForm
{
function save(){
$file = JRequest::getVar('jform', null, 'files', 'array');
$path = JPATH_BASE;
// Make the file name safe.
jimport('joomla.filesystem.file');
$file['name']['invoice'] = JFile::makeSafe($file['name']['invoice']);
// Move the uploaded file into a permanent location.
if (isset($file['name']['invoice'])) {
// Make sure that the full file path is safe.
$filepath = JPath::clean($path. DS ."components". DS ."com_invoicemanager". DS ."files". DS .strtolower($file['name']['invoice']));
// Move the uploaded file.
JFile::upload( $file['tmp_name']['invoice'], $filepath );
}
return parent::save();
}
}
Campo de formulário em XML -
<field name="invoice" type="file"/>
UPDATE: trabalhou depois de adicionar as seguintes linhas retiradas do código @Andras Gera
$data = JRequest::getVar( 'jform', null, 'post', 'array' );
$data['invoice'] = strtolower( $file['name']['invoice'] );
JRequest::setVar('jform', $data );