GJ
Alterar o layout da aplicação dinamicamente.
Fechado
Bom dia pessoal,
alguem poderia me dizer se é possível e como fazer para alterar o layout da aplicação dinamicamente? Por exemplo, preciso, de dentro de Formulario (TForm), alterar uma informação inseria previamente no layout. Pra ser mais claro, imaginem que inseri no layout um label que fica ao lado do combo de busca (template ERPIII), em função de algumas coisas que verifico na classe eu preciso mudar esse label.
Desde já agradeço.
alguem poderia me dizer se é possível e como fazer para alterar o layout da aplicação dinamicamente? Por exemplo, preciso, de dentro de Formulario (TForm), alterar uma informação inseria previamente no layout. Pra ser mais claro, imaginem que inseri no layout um label que fica ao lado do combo de busca (template ERPIII), em função de algumas coisas que verifico na classe eu preciso mudar esse label.
Desde já agradeço.
Olá Geraldo, tudo bom?
É possível sim, verifique seu arquivo index.php
Procure por:
É esta a variável responsável por carregar o tema da aplicação, sugiro que você alimente esta variavel com uma informação da sessão, por exemplo:
Assim basta você criar uma rotina que sete este valor na sessão, por exemplo:
Lembre-se, é importante recarregar a aplicação inteira apos setar isso na sessão, você pode fazer com:
Pronto, você terá como trocar o tema dinamicamente, só tome cuidado ao utilizar componentes exclusivos de um tema, pois isso pode gerar uma desconfiguração na tela.
Sabemos que o tema 'theme3' é o AdminLTE, sendo assim, posso consumir todos os recursos deste tema utilizando a classe TElement para criar os componentes, como os widgets por exemplo, e montar uma dashboard como esta https://almsaeedstudio.com/themes/AdminLTE/index.html
Se eu mudar o tema, vou perder toda a estrutura CSS do mesmo, fazendo com que minha dashboard fique desconfigurada, nesse caso é necessário criar uma dashboard com os componentes de cada tema e carregar a dashboard de acordo com o tema escolhido.
Espero ter ajudado.
Olá Jheferson,
muito obrigado pelo retorno. Creio que o que você disse vai me ajudar.... qq dúvida posto aqui novamente.
Jheferson, gostei muito do link acima com os dashboards. Foi vc quem fez?
Olá Marcus, tudo bom?
O link que apresentei anteriormente é um link demo do tema AdminLTE que é utilizado pelo Adianti como 'theme3' no Template ERP.
Se você gostou sugiro que estude a documentação do tema, veja em:
https://almsaeedstudio.com/themes/AdminLTE/documentation/index.html
Estude também a classe TElement ela permite a criação de novos componentes.
Futuramente irei postar novos componentes que estou desenvolvendo e que são voltados para a criação de dashboards.
Mas até la, tente o seguinte:
1- Criando um componente: Crie o componente TSmallCard.
TSmallCard.class.php
Salve este arquivo na pasta app/lib/util/
2- Crie um controle TDashBoard
TDashBoard.class.php
Coloque o arquivo na pasta app/control/
3- Va em programas no menu Administração->Programas e adcione a classe TDashBoard
4- Vá no seu usuário ou no seu grupo de usuário e adicione o programa criado no item 3.
5- Vá na url do seu app e faça a chamada da classe TDashBoard por exemplo: localhost/meuapp/?class=TDashBoard
Pronto!
Veja o resultado, estude as classes.
Não abstrai muita coisa, para mostrar como funciona a classe TElement e como ela é útil.
Lembrando que para funcionar você deve usar o 'Theme3'.
Ola, Jheferson Fonseca
Fiz aqui e funcionou,
Como faço para colocar as div e um datagrid pois as divs nao estao no tamanho correto.