Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
COMANDO AO INVÉS DE THtmlRenderer Boa noite a todos. Criei um modelo de tela em html no entanto como vou manipular não só a informação como também sua quantidade resolvi então passar para dentro de um código php. A minha duvida é o seguinte, como executo este html dentro do codigo sem ter que salvar o arquivo html e depois carrega-lo ? CÓDIGO PHP ...
MC
COMANDO AO INVÉS DE THtmlRenderer  
Fechado
Boa noite a todos.

Criei um modelo de tela em html no entanto como vou manipular não só a informação
como também sua quantidade resolvi então passar para dentro de um código php.

A minha duvida é o seguinte, como executo este html dentro do codigo sem ter que salvar o arquivo html
e depois carrega-lo ?


CÓDIGO PHP

  1. <?php
  2. class TelaIni_Portaria extends TPage
  3. {
  4.     /**
  5.      * Class constructor
  6.      * Creates the page
  7.      */
  8.     function __construct()
  9.     {
  10.         parent::__construct();
  11.         
  12.         TPage::include_css('app/resources/styles.css');
  13.         
  14.         // Saudação ao Usuario
  15.         $Saudacao TSession::getValue('username').'  '.strtoupperTGeral::Saudacao());
  16.         // Criando o Form Principal
  17.         $form = new TQuickForm('form_TelaIni_Portaria');
  18.         $form->class 'tform';                     
  19.         $form->style 'display: table; width:100%';
  20.         $form->setFormTitle$Saudacao ); 
  21.         
  22.         // Criando o TPanel
  23.         $panel = new TPanelGroup('');
  24.         
  25.         
  26.         // Criando o html
  27.         $body = array();
  28.         $body[] = '<table border="0" width="100%" cellpadding="10">';
  29.         $body[] = '<tr>';
  30.        
  31.         //--COLUNA 1 -----------------------------------------------------------
  32.         $body[] = '<td width="32%" valign="top">';
  33.             //--- PANEL 1 ------------------------------------------------------
  34.         
  35.         $body[] = '<div class="panel panel-primary">';
  36.         $body[] = '    <div class="panel-heading" >';
  37.         $body[] = '        <h2 class="panel-title fa fa-pencil-square-o fa-lg">   ';
  38.         $body[] = '            MURAL DE RECADOS';
  39.         $body[] = '        </h2>';
  40.         $body[] = '    </div>';
  41.         $body[] = '</div>';
  42.         $body[] = '</td>';
  43.         
  44.         
  45.         //Fechando o html    
  46.         $body[] = '</tr>';
  47.         $body[] = '</table>';
  48.         
  49.         // Fim Html   
  50.         
  51.         $html = ?? Comando  
  52.         
  53.         
  54.         // Adcionando html ao Panel  (funciona qdo usado em conjunto com o THtmlRenderer  fica igual a figura em anexo )
  55.         $panel->add($html);
  56.         
  57.         $container = new TVBox;
  58.         $container->style 'width: 100%';
  59.         $container->add($form1 );
  60.         $container->add($panel1);
  61.         parent::add($container);
  62.     }
  63. }
  64. ?>



HTML MODELO

<!--[main]--> <table border="0" width="100%" cellpadding="10"> <tr> <!--COLUNA 1 ------------------------------------------------------------------> <td width="32%" valign="top"> <!-- PANEL 1 ----------------------------------------------------------> <div class="panel panel-primary"> <div class="panel-heading" > <h2 class="panel-title fa fa-pencil-square-o fa-lg">    MURAL DE RECADOS </h2> </div> <div class="alert alert-danger" role="alert"> <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <span class="sr-only">Erro:</span> ATENÇÃO - PORTARIA </div> <div class="panel-body"> Nesta tela Inicial em breve estará dividida em 5 outras telas: - MURAL DE RECADOS Recados Dirigido a PORTARIA - RESERVAS Próximas 5 Reservas (Salão de Festas ) - ENTRADA - AUTORIZAÇÕES As Autorizações de Entrada no Condominio do Dia - CRACHAS Os Crachas que estarão Vencidos - MERCADORIAS As mercadorias com mais de 1 Mes que foram recebidas e ainda não foram entregues. </div> </div> </td> <!--COLUNA 2 ------------------------------------------------------------------> <td width="3%" valign="top"></td> <td width="31%" valign="top"> <!-- PANEL 1 ----------------------------------------------------------> <div class="panel panel-success"> <div class="panel-heading"> <h2 class="panel-title fa fa-calendar fa-lg">    RESERVAS </h2> </div> <a href="#" class="list-group-item">Dapibus ac facilisis in <span class="badge">14</span> </a> <a href="#" class="list-group-item">Cras sit amet nibh libero</a> <a href="#" class="list-group-item">Porta ac consectetur ac</a> <a href="#" class="list-group-item">Vestibulum at eros</a> </div> <!-- PANEL 2 ----------------------------------------------------------> <div class="panel panel-warning"> <div class="panel-heading"> <h2 class="panel-title fa fa-thumbs-o-up fa-lg">    ENTRADA - AUTORIZAÇÕES </h2> </div> <a href="#" class="list-group-item">Dapibus ac facilisis in <span class="badge">14</span> </a> <a href="#" class="list-group-item">Cras sit amet nibh libero</a> <a href="#" class="list-group-item">Porta ac consectetur ac</a> <a href="#" class="list-group-item">Vestibulum at eros</a> </div> </td> <!--COLUNA 3 ------------------------------------------------------------------> <td width="3%" valign="top"></td> <td width="31%" valign="top"> <!-- PANEL 1 ----------------------------------------------------------> <div class="panel panel-info"> <div class="panel-heading"> <h2 class="panel-title fa fa-newspaper-o fa-lg">    CRACHAS </h2> </div> <a href="#" class="list-group-item">Dapibus ac facilisis in <span class="badge">14</span> </a> <a href="#" class="list-group-item">Cras sit amet nibh libero</a> <a href="#" class="list-group-item">Porta ac consectetur ac</a> <a href="#" class="list-group-item">Vestibulum at eros</a> </div> <!-- PANEL 2 ----------------------------------------------------------> <div class="panel panel-danger"> <div class="panel-heading"> <h2 class="panel-title fa fa-truck fa-lg">    MERCADORIAS </h2> </div> <a href="#" class="list-group-item">Dapibus ac facilisis in <span class="badge background-color: red">14</span> </a> <a href="#" class="list-group-item">Cras sit amet nibh libero</a> <a href="#" class="list-group-item">Porta ac consectetur ac</a> <a href="#" class="list-group-item">Vestibulum at eros</a> </div> </td> </tr> </table> <!--[/main]-->

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (10)


NR

Você pode passar o html como texto mesmo. Por exemplo, como você está adicionando o html na variável $body que é um array, você precisa transformá-la em string antes de adicioná-la ao panel:
  1. <?php
  2. $html implode(' ',$body);
  3. ?>
MC

Nataniel obrigado pela dica, mas resolvi de uma forma mais simples...

Assim que eu terminar a tela irei postar como contribuição.

Assim muitos poderão usar a 'DICA' para aperfeiçoar suas telas.


Obrigado

Abraços
JA

Marco, posta como ficou, to fazendo uma tela parecida com essa, tem interesse em fazer uma parceria para um sistema de condominio ?
MC

Junior, beleza

Assim que terminar vou postar para todos.

Quanto ao sistema de Condominio, ele nasceu de uma "brincadeira" minha para o meu condomínio o qual sou um dos Gestores.
Ele cresceu, esta crescendo..... Meu foco esta no controle interno (até agora não vi nada parecido).

meu email - marcoarcampos@gmail.com para trocarmos figurinha.

Abraços
JH

Bom dia ja postou como ficou teu codigo fiquei interessado em ver como ficou pois vou precisar deu uma pagina parecida com essa .
MC

Jorge o que eu fiz eh muito simples..
Tudo que vc precisa esta neste endereço

getbootstrap.com.br/components/

Nele você encontra como criar as paginas html, acima tem um modelo que gera a imagem que esta neste post.

O que mudou foi apenas {$mural} é onde será inserido o restante da html

<td width="32%" valign="top"> <!-- PANEL 1 -> MURAL DE RECADOS --------------------------------------> <div class="panel panel-primary"> <div class="panel-heading" > <h2 class="panel-title fa fa-bullhorn fa-lg">&nbsp;&nbsp;&nbsp; MURAL DE RECADOS </h2> </div> {$mural} </div> </td>



Informações do {$mural}

1) carrega o html

$html = new THtmlRenderer('app/resources/arquivo.html');


2) Aqui você carrega as informações e passa para o html

  1. <?php
  2.             //  informações oriundas da Base de Dados ou outros...
  3.             if ($muralobjs)
  4.             {
  5.                 foreach ($muralobjs as $muralobj)
  6.                 {
  7.                     $mural_body .= '<a '.$mural_href.$muralobj->MUR_ID.'" class="list-group-item">'.
  8.                                        TDate::date2br$muralobj->MUR_DATAINI ).' - '.
  9.                                        $muralobj->MUR_PREVIA.'<font color="maroon">......Leia mais</font> 
  10.                                    </a>';
  11.                 }
  12.             }
  13.            
  14.             // Aqui voce atribui ao {$mural}
  15.             $this->replaces['mural'] = $mural_body;
  16. ?>



Agora é brincar e ver o melhor, tenho 5 modelos de paginas que são chamadas conforme o login do usuário.
MC

ops esqueci de alguns detalhes

A segunda parte é uma função para chamar o Html, abrir o banco de dados, carrega as informações

no final usa este codigo

  1. <?php
  2.         // Atribui os valores ao Html
  3.         $html->enableSection('main'$this->replaces );
  4.         
  5.         // Adcionando html ao Panel
  6.         $panel->add($html);
  7. ?>
EL

Bom dia, Marco!
Poderia postar o código completo? Ainda tenho dificuldades em implementar este modelo.
Desde já agradeço.
LF

Ainda usa este código? Não consegui implementar.
MC

Leondas

Sim eu uso, mas o Adianti tem algo parecido

www.adianti.com.br/framework_files/tutor/index.php?class=KanbanView


tambem vc pode utilizar exemplos desta pagina

https://adminlte.io/themes/AdminLTE/index2.html