Lançado Adianti Framework 8.1!
Clique aqui para saber mais
Abrir uma URL externa em outra aba Tem algum metodo no próprio Adianti que eu consiga chamar uma URL externa em outra aba nativamente? Desejo vincular isto a um botão. Ou teria que criar uma função chamando um javascript? Grato, ...
NC
Abrir uma URL externa em outra aba  
Fechado
Tem algum metodo no próprio Adianti que eu consiga chamar uma URL externa em outra aba nativamente? Desejo vincular isto a um botão.

Ou teria que criar uma função chamando um javascript?

Grato,


Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (7)


PD

Para abrir embutido:

  1. <?php
  2. $link = new TElement('a');
  3. $link->generator 'adianti';
  4. $link->class 'btn btn-default';
  5. $link->href 'index.php?class=Cpessoa';
  6. $link->add('Cadastrar Pessoas');
  7. ?>


A tag generator='adianti', é importante para que a requisição do link seja "sequestrada" e executada por ajax.

Para abrir em nova aba

  1. <?php
  2. $link = new TElement('a');
  3. $link->target 'newwindow';
  4. $link->class 'btn btn-default';
  5. $link->href 'http://www.google.com';
  6. $link->add('Google');
  7. ?>


Atenciosamente,
Pablo
CC

É possível chamar outra classe sem criar um link ou botão ?

Ex.: no metódo onSave eu criei uma validação.

  1. <?php 
  2.         if ($data->tipo_despesa == 'C'// aqui vamos incluir a compra
  3.         {
  4.         //preciso incluir aqui uma outra classe que criei compras.class.php como fazer ????       
  5.         }
  6.   
  7.  ?>
PD

Cleidison,

Existem os métodos estáticos:
* AdiantiCoreApplication::gotoPage() => Vai para outra classe de controle, recarregando toda a página;
* AdiantiCoreApplication::loadPage() => Vai para outra classe de controle, carregando embutido;
* AdiantiCoreApplication::postData() => Posta os dados de um form para outra classe de controle.

Fora isso, você pode a qualquer momento instanciar uma classe e executar um método,
por que é assim que o PHP funciona, visto que isso não diz respeito ao Framework.

Att,
Pablo
HS

Bom dia Pablo,

estou com o mesmo problema. Já busquei bastante no fórum , tentei algumas soluções e não resolveram.
Tenho um formulário com datagrid em que é listado vários registros. Ao clicar em um desses registros preciso este seja exibido em uma nova aba.

Fiz a segunda classe para exibir as informações e tenho o botão abaixo:

$action_edit = new TDataGridAction(['ExibirItem', 'onView']);
//$action_edit->target='newwindow'; _blank new
$action_edit->setButtonClass('btn btn-default');
$action_edit->setLabel(_t('View'));
$action_edit->setImage('fa:search-plus');
$action_edit->setField('item_nr');
$this->datagrid->addAction($action_edit);

Mas não funciona.

Podem me ajudar.

HS

Bom dia Pablo,

estou com o mesmo problema. Já busquei bastante no fórum , tentei algumas soluções e não resolveram.
Tenho um formulário com datagrid em que é listado vários registros. Ao clicar em um desses registros preciso este seja exibido em uma nova aba.

Fiz a segunda classe para exibir as informações e tenho o botão abaixo:

$action_edit = new TDataGridAction(['ExibirItem', 'onView']);
//$action_edit->target='newwindow'; _blank new
$action_edit->setButtonClass('btn btn-default');
$action_edit->setLabel(_t('View'));
$action_edit->setImage('fa:search-plus');
$action_edit->setField('item_nr');
$this->datagrid->addAction($action_edit);

Mas não funciona.

Podem me ajudar.

DC

criar o link eh facil, agora adiciona isso num form com bootstrapFormWrapper que eu quero ver....
RK

Olá.
Respondendo ao amigo Davidson e, como eu tive dificuldade em inserir um botão tipo link no form, segue uma solução simples.
Primeiro, criar uma função no próprio control:

  1. <?php
  2. public function onVolta()
  3.     {
  4.         TScript::create('window.location.href = "http://www.suaurl.aqui";');
  5.     }
  6. ?>


E chama ela pelo addAction no form:

  1. <?php
  2. $btnv $this->form->addAction('Voltar', new TAction(array($this'onVolta')), 'fas:arrow-alt-circle-left');
  3. $btnv->class 'btn btn-sm btn-primary';
  4. ?>


Espero que ajude.
Abraços.