IV
Erro ao tentar exibir uma imagem em um frame
Tentei usar o link abaixo para exibir uma imagem ao fazer um upload, mas tá dando um erro nessa duas linhas
o link de exemplo:
www.adianti.com.br/framework_files/tutor/index.php?class=ProductForm
$row->addCell('');
$row->addCell($this->frame);
o link de exemplo:
www.adianti.com.br/framework_files/tutor/index.php?class=ProductForm
class NoticiaForm extends TPage
{
protected $form; // form
private $frame;
/**
* Form constructor
* @param $param Request
*/
public function __construct( $param )
{
parent::__construct();
// creates the form
$this->form = new BootstrapFormBuilder('form_Noticia');
$this->form->setFormTitle('Notícia');
// create the form fields
$id = new TEntry('id');
$tiponoticia_id = new TDBSeekButton('tiponoticia_id','database',$this->form->getName(),'Tiponoticia','nome','tiponoticia_id','tiponoticia_nome');
$tiponoticia_nome = new TEntry('tiponoticia_nome');
$titulo = new TEntry('titulo');
$texto = new THtmlEditor('texto');
$datapub = new TDate('datapub');
$hora = new TEntry('hora');
$imagem = new TFile('imagem');
$clicks = new TEntry('clicks');
$destaque = new TEntry('destaque');
// complete upload action
$imagem->setCompleteAction(new TAction(array($this, 'onComplete')));
$tiponoticia_nome->setEditable(FALSE);
$id->setSize('50%');
$tiponoticia_id->setSize('30%');
$tiponoticia_nome->setSize('70%');
$titulo->setSize('100%');
$texto->setSize('98%');
$datapub->setSize('100%');
$hora->setSize('100%');
$imagem->setSize('100%');
$destaque->setSize('100%');
$hora->setMask('99:99');
// add the fields
$this->form->addFields( [ new TLabel('ID') ], [ $id ], [ new TLabel('Tipo de Notícia') ], [ $tiponoticia_id, $tiponoticia_nome ] );
$this->form->addFields( [ new TLabel('Titulo') ], [ $titulo ] );
$this->form->addFields( [ new TLabel('Texto') ], [ $texto ] );
$this->form->addFields( [ new TLabel('Data publicação') ], [ $datapub ], [ new TLabel('Hora') ], [ $hora ] );
$this->form->addFields( [ new TLabel('Imagem') ], [ $imagem ], [ new TLabel('Destaque') ], [ $destaque ] );
//$this->form->addFields( [ new TLabel('Clicks') ], [ $clicks ] );
$this->frame = new TElement('div');
$this->frame->id = 'photo_frame';
$this->frame->style = 'width:400px;height:auto;min-height:200px;border:1px solid gray;padding:4px;';
$row = $this->form->addRow();
$row->addCell('');
$row->addCell($this->frame);
if (!empty($id))
{
$id->setEditable(FALSE);
}
/** samples
$this->form->addQuickFields('Date', array($date1, new TLabel('to'), $date2)); // side by side fields
$fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
$fieldX->setSize( 100, 40 ); // set size
**/
// create the form actions
$this->form->addAction(_t('Save'), new TAction(array($this, 'onSave')), 'fa:floppy-o');
$this->form->addAction(_t('New'), new TAction(array($this, 'onClear')), 'bs:plus-sign green');
$this->form->addAction(_t('Back to the listing'), new TAction(array('TiponoticiaList', 'onReload')), 'fa:table blue');
// vertical box container
$container = new TVBox;
$container->style = 'width: 100%';
$container->add(TXMLBreadCrumb::create(['Tipo de Notícias','Notícia']));
$container->add($this->form);
parent::add($container);
}
/**
* On complete upload
*/
public static function onComplete($param)
{
new TMessage('info', 'Upload completed: '.$param['imagem']);
// refresh photo_frame
TScript::create("$('#photo_frame').html('')");
TScript::create("$('#photo_frame').append(\"<img style='width:100%' src='tmp/{$param['imagem']}'>\");");
}