-
Notifications
You must be signed in to change notification settings - Fork 6
Menu Básico
Nesse capitulo vamos entender o funcionamento básico do menu.
A Imagem abaixo é um link para YouTube sobre o curso de FormDin a parte de Menu
Vamos utilizar como exemplo o arquivo appexemplo_v1.0/includes/menu.php
que é o menu da Aplicação de Exemplo 1.
Abaixo o exemplo somente da parte "Campos"
$menu = new TMenuDhtmlx();
$menu->add('1', null, 'Campos', null, null, 'user916.gif');
$menu->add('11', '1', 'Campo Texto', null, 'Declaração de texto');
$menu->add('11.1', '11', 'Campo Texto Simples');
$menu->add('11.1.1', '11.1', 'Campo Texto', 'view/fields/exe_TextField.php')->setJsonParams("{'p1':'parametro_1','p2':'parametro_2'}");
$menu->add('11.1.2', '11.1', 'Entrada com Máscara', 'view/fields/exe_maskField.php');
$menu->add('11.2.3', '11.1', 'Campo Memo', 'view/fields/exe_TMemo.php');
$menu->add('11.2', '11', 'Campo Texto Richo');
$menu->add('11.2.1', '11.2', 'Campo Memo com tinyMCE', 'view/fields/exe_Ttinymce.php');
$menu->add('11.2.2', '11.2', 'Campo Editor com CkEditor', 'view/fields/exe_TTextEditor.php');
$menu->add('11.3', '11', 'Campo Texto funções');
$menu->add('11.3.1', '11.3', 'Autocompletar', 'view/fields/exe_autocomplete.php');
$menu->add('11.3.2', '11.3', 'Autocompletar II', 'view/fields/exe_autocomplete2.php');
$menu->add('11.3.3', '11.3', 'Consulta On-line', 'view/fields/exe_onlinesearch.php');
$menu->add('11.3.4', '11.3', 'Consulta On-line I (ERRO)', 'view/fields/exe_onlinesearch1.php');
$menu->add('11.3.5', '11.3', 'Autocompletar 3 + Consulta On-line', 'view/fields/exe_autocomplete3.php');
$menu->add('12', '1', 'Campo HTML');
$menu->add('12.1', '12', 'Campo HTML', 'view/fields/exe_HtmlField.php');
$menu->add('12.2', '12', 'Campo HTML com iFrame', 'modulos/iframe_phpinfo/ambiente_phpinfo.php');
$menu->add('13', '1', 'Campo Coord GMS');
$menu->add('13.1', '13', 'Campo Coord GMS', 'view/fields/exe_CoordGmsField.php');
$menu->add('13.2', '13', 'Campo Coord GMS 02', 'view/fields/exe_CoordGmsField02.php');
$menu->add('14', '1', 'Campo Select', 'view/fields/exe_SelectField.php');
$menu->add('15', '1', 'Campo Radio', 'view/fields/exe_RadioField.php');
$menu->add('16', '1', 'Campo Check', 'view/fields/exe_CheckField.php');
$menu->add('17', '1', 'Campo Arquivo ou Blob');
$menu->add('171', '17', 'Campo Blob');
$menu->add('1171', '171', 'Campo Blob Salvo no Banco', 'view/fields/exe_fwShowBlob.php');
$menu->add('1172', '171', 'Campo Blob Salvo no Disco', 'view/fields/exe_fwShowBlobDisco.php');
$menu->add('172', '17', 'Campo Arquivo simples');
$menu->add('1721', '172', 'Assincrono', 'view/fields/exe_FileAsync.php');
$menu->add('1722', '172', 'Normal', 'view/fields/exe_TFile.php');
$menu->add('1723', '172', 'TAssincrono', 'view/fields/exe_TFileAsync.php');
$menu->add('173', '17', 'Cadastro Arquivo Postgres', 'pdo/exe_pdo_4.php', 'Exemplo de Upload de imagem que mostra o arquivo antes de finalizar');
Abaixo copia da documentação do construtor do método.
/**
* Método para adicionar itens de menu
*
* @param string $strId - 1: id do Menu
* @param string $strIdParent - 2: id do Item pai.
* @param string $strText - 3: Texto que irá aparecer para o usuário
* @param string $strUrl - 4: Caminho do módulos
* @param string $strToolTip - 5: uma explicação maior sobre o item
* @param string $strImg - 6: imagem será utilizada como ícone
* @param string $strImgDisabled - 7: imagem para o menu desabilitado
* @param boolean $boolDisabled - 8: Menu desabilitado
* @param string $strHotKey
* @param boolean $boolSeparator
* @return TMenuDhtmlx
*/
Vamos pegar o exemplo os primeiros itens do menu campo > Campo texto > Campo Texto Simples.
- O primeiro parâmetro é um ID do menu
- o segundo parâmetro é um ID do pai.
O ID pode ser um numero inteiro ou separado por ponto como nos exemplo abaixo. O importante é nunca ter dois menus com mesmo ID. Uma dia é usar os números inteiros simples para os menus raiz, depois em cada filho ir colocando separado por ponto.
$menu = new TMenuDhtmlx();
$menu->add('1', null, 'Campos', null, null, 'user916.gif');
$menu->add('11', '1', 'Campo Texto', null, 'Declaração de texto');
$menu->add('11.1', '11', 'Campo Texto Simples');
$menu->add('11.1.1', '11.1', 'Campo Texto', 'view/fields/exe_TextField.php')->setJsonParams("{'p1':'parametro_1','p2':'parametro_2'}");
$menu->add('11.1.2', '11.1', 'Entrada com Máscara', 'view/fields/exe_maskField.php');
$menu->add('11.2.3', '11.1', 'Campo Memo', 'view/fields/exe_TMemo.php');
$menu->add('11.2', '11', 'Campo Texto Richo');
Por padrão o formDin irá buscar o arquivo da tela dentro da pasta módulos, isso se for informado apenas o nome do arquivo PHP. Porém pode ser informado o caminho completo iniciado na raiz da aplicação.
Ainda usando a Aplicação de Exemplo 1, no menu Mensagens e Ajuda
no item Hints / Tooltips. O código informa apenas o nome do arquivo PHP, assim o formDin irá buscar dentro da pasta módulos.
$menu->add('4', null, 'Mensagens e Ajuda', null, null, '../../base/imagens/feedback-512.png');
$menu->add('40', '4', 'Hints / Tooltips', 'exe_hint.php');
Ainda usando a Aplicação de Exemplo 1, no menu Formulário
no item Form 01 - Normal
. O código informa todo caminho relativo do modulo, assim o formDin irá buscar dentro no caminho informado.
$menu->add('10', null, 'Formulário', null, null, '../../base/imagens/fill_form-512.png');
$menu->add('10.1', '10', 'Form 01 - Normal', 'view/form/exe_TForm.php');
Vamos criar uma nova entrada no menu. Essa entrada será utilizada no futuro.
Repare
- a tela será o arquivo pedido.php, que será buscada dentro da pasta modulo
- terá o icone do formulário.
- a ultima linha do arquivo menu deve ser $menu->getXml();
- recarregue a aplicação (F5 ou clicando no reload)
Exemplo do que deve ser incluído no arquivo menu
$menu->add('2', null, 'Telas',null);
$menu->add('2.1', '2', 'Cadastro do Pedido','pedido.php', 'Um texto longo para Cadastro de produtos', '../../base/imagens/fill_form-512.png');
O Resultado deve parece com a imagem abaixo.
Índice completo - Aprendendo formDin em etapas
Conheça os projetos relacionados ao formDin
- FormDin Last Release - ultima versão estável
- SysGen - Gerador de código para FormDin
- formDocker - Ambiente para o FormDin em Docker
- FormDin5 - FormDin 5 sobre o Adianti FrameWork
- SysGenAd - Gerador de código para FormDin 5 usando o Adianti FrameWork
Aprendendo formDin em etapas
- Baixando o formDin
- Instalado e Configurando Ambiente de Desenvolvimento
- Usando XDebug
- Informações técnicas
- Primeira Aplicação
- Entendendo a primeira aplicação
- Criando Menu Básico
- Conectando com um Banco de Dados
- Usando DAO e VO
- Grid Básico
- Componentes Básicos
- O Formulário
- Relatórios em PDF
- Componentes Avançados
- Autenticando o usuário
- Perfis de acesso
- Grid Avançado
- Conectando com mais um Banco de Dados ao mesmo tempo
- Automatizando a criação de aplicação
- Segurança
- Layout e CSS
- API REST
- Arquitetura do FormDin
- Versões e versionamento
- Usando o Eclipse
- Usando o VS Code
- História do formDin
- Usando PHPUnit para fazer testes unitários
- Usando Composer
- Usando Docker
- Microsoft SQL Server