RB
Dificuldade em susbstituição variaveis THtmlRenderer
Olá pessoa,
Estou tendo dificuldade em setar valores nas variáveis do template usando THtmlRenderer, especificamente em combos e componete de calendario (TDate).
Alguém sabe como resolver isto. segue fonte das paginas.
Estou tendo dificuldade em setar valores nas variáveis do template usando THtmlRenderer, especificamente em combos e componete de calendario (TDate).
Alguém sabe como resolver isto. segue fonte das paginas.
- <?php
- class FuncinarioForm extends TPage
- {
- /**
- * Constructor method
- */
- public function __construct()
- {
- parent::__construct();
- // create the HTML Renderer
- $this->html = new THtmlRenderer('app/view/FuncionarioRender.html');
- try
- {
- // look for customer 1
- TTransaction::open('db');
- $pessoa = new PessoaVinculo(381);
- // define replacements for the main section
- $replace = array();
- $replace['nome'] = $pessoa->pessoa->fisica->nome;
- $replace['cpf'] = $pessoa->pessoa->fisica->cpf;
- $replace['rg'] = $pessoa->pessoa->fisica->rg;
- $replace['data_nascimento'] = TDate::date2br($pessoa->pessoa->fisica->data_nascimento);
- $replace['estado_civil_id'] = $pessoa->pessoa->fisica->estado_civil_id;
- $replace['estado_civil'] = $pessoa->pessoa->fisica->estado_civil_id;
- // replace the main section variables
- $this->html->enableSection('main', $replace);
- // wrap the page content using vertical box
- $vbox = new TVBox;
- $vbox->style = 'width: 100%';
- $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $vbox->add($this->html);
- parent::add($vbox);
- TTransaction::close();
- }
- catch (Exception $e)
- {
- new TMessage('error', $e->getMessage());
- }
- }
- /**
- * Send data
- */
- public static function onSend($param)
- {
- echo '<pre>';
- print_r($param);
- echo '</pre>';
- }
- }
- ?>
<!--[main]-->
<div class="container">
<form class="needs-validation" novalidate>
<div class="form-group">
<div class="form-group">
<div class="media">
<img class="mr-1 img-fluid img-thumbnail" src="app/images/photos/user.jpg" style="width:90px;height: 116px;padding:2px;"alt="Imagem de exemplo genérica">
<div class="media-body">
<div class="form-row">
<div class="col">
<label class="col-form-label form-control-sm red">'_t{Name}'</label>
<input type="text" class="form-control form-control-sm" placeholder="Nome" value="{$nome}" required>
</div>
</div>
<div class="form-row">
<div class="col">
<label class="col-form-label form-control-sm red">Nascimento</label>
<input type="date" class="form-control form-control-sm" placeholder="Data de Nascimento" value="{$data_nascimento}" required>
</div>
<div class="col">
<label for="estado_civil_id" class="col-form-label form-control-sm">Estado Cívil</label>
<select id="estado_civil_id" class="form-control form-control-sm">
<option selected>Selecione...</option>
<option value= "{estado_civil_id}">"{estado_civil_id}"</option>
</select>
</div>
<div class="col">
<label for="genero_id" class="col-sm-2 col-form-label form-control-sm">Genero</label>
<select id="genero_id" class="form-control form-control-sm">
<option selected>Selecione...</option>
<option value="{genero_id}">"{genero_id}"</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="form-row">
<div class="col">
<label for="CPF" class="col-form-label form-control-sm">CPF</label>
<input name="cpf" id = "cpf" type="text" class="form-control form-control-sm is-valid" placeholder="CPF" value="{$cpf}" required>
<div class="invalid-tooltip">
Por favor, informe um cpf válido.
</div>
</div>
<div class="col">
<label for="RG" class="col-form-label form-control-sm">RG</label>
<input name="rg" type="text" class="form-control form-control-sm" placeholder="RG" value="{$rg}" required>
</div>
<div class="col">
<label for="genero" class="col-sm-2 col-form-label form-control-sm">Etnia</label>
<select id="genero" class="form-control form-control-sm">
<option selected>Selecione...</option>
<option value="1">Branco</option>
<option value="1">Preto</option>
</select>
</div>
</div>
</div>
<div class="form-group">
<label for="Contato" class="col-form-label">Contato</label>
<div class="form-row">
<div class="col col-md-1">
<label for="ddi" class="col-sm-2 col-form-label form-control-sm">DDI</label>
<input type="text" class="form-control form-control-sm" name = "ddi" id="ddi" placeholder="ddi" value="{$ddi}" required>
</div>
<div class="col col-md-1">
<label for="ddd" class="col-sm-1 col-form-label form-control-sm">DDD</label>
<input type="text" class="form-control form-control-sm" name = "ddd" id="logradouro" placeholder="ddd" value="{$ddd}" required>
</div>
<div class="col col-md-5">
<label for="telefone" class="col-sm-1 col-form-label form-control-sm">Telefone</label>
<input type="text" class="form-control form-control-sm" name = "telefone" id="telefone" placeholder="Telefone" value="{$telefone}" required>
</div>
<div class="col col-md-5">
<label for="celeular" class="col-sm-1 col-form-label form-control-sm">Celular</label>
<input type="text" class="form-control form-control-sm" name = "telefone" id="celular" placeholder="Celular" value="{$celular}" required>
</div>
</div>
<div class="form-row">
<div class="col col-md-6">
<label for="email" class="col-sm-2 col-form-label form-control-sm">Email</label>
<input type="text" class="form-control form-control-sm" name = "email" id="email" placeholder="E-Mail" value="{$email}" required>
</div>
<div class="col col-md-6">
<label for="Site" class="col-sm-2 col-form-label form-control-sm">Site</label>
<input type="text" class="form-control form-control-sm" name = "site" id="site" placeholder="Site" value="{$site}" required>
</div>
</div>
</div>
<div class="form-group">
<label for="Contato" class="col-form-label" >Endereço</label>
<div class="form-row">
<div class="col col-md-2">
<label for="Cep" class="col-sm-2 col-form-label form-control-sm">Cep</label>
<input type="text" class="form-control form-control-sm" name = "cep" id="cep" placeholder="Logradouro" value="{$cep}" required>
</div>
<div class="col col-md-8">
<label for="logradouro" class="col-sm-2 col-form-label form-control-sm">Logradouro</label>
<input type="text" class="form-control form-control-sm" name = "logradouro" id="logradouro" placeholder="Logradouro" value="{$logradouro}" required>
</div>
<div class="col col-md-2">
<label for="numero" class="col-sm-2 col-form-label form-control-sm">Número</label>
<input type="text" class="form-control form-control-sm" name = "numero" id="logradouro" placeholder="Número" value="{$numero}" required>
</div>
</div>
<div class="form-row">
<div class="col col-md-3">
<label for="Bairro" class="col-sm-2 col-form-label form-control-sm">Bairro</label>
<input type="text" class="form-control form-control-sm" name = "bairro" id="bairro" placeholder="Bairro" value="{$bairro}" required>
</div>
<div class="col col-md-3">
<label for="Cidade" class="col-sm-2 col-form-label form-control-sm">Cidade</label>
<input type="text" class="form-control form-control-sm" name = "cidade" id="cidade" placeholder="Cidade" value="{$cidade}" required>
</div>
<div class="col col-md-1">
<label for="UF" class="col-sm-2 col-form-label form-control-sm">UF</label>
<input type="text" class="form-control form-control-sm" name = "uf" id="uf" placeholder="UF" value="{$uf}" required>
</div>
<div class="col col-md-5">
<label for="complemento" class="col-sm-2 col-form-label form-control-sm">Complemento</label>
<input type="text" class="form-control form-control-sm" name = "complemento" id="uf" placeholder="Complemento" value="{$complemento}" required>
</div>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary">Enviar</button>
</div>
</form>
<script>
// Exemplo de JavaScript inicial para desativar envios de formulário, se houver campos inválidos.
(function() {
'use strict';
window.addEventListener('load', function() {
// Pega todos os formulários que nós queremos aplicar estilos de validação Bootstrap personalizados.
var forms = document.getElementsByClassName('needs-validation');
// Faz um loop neles e evita o envio
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function(event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
})();
</script>
<!--[/main]-->
Uma combo pode ter vários "<option>" e será exibido o que estiver com o atributo "selected" definido. Você está definindo esse atributo para "<option selected>Selecione...</option>", então essa será a opção selecionada da combo.
Sobre as datas, tente informar em formato americano.
Mais informações:
https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/Input/data
https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/select</option>