Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Bom dia galera, Estou com um problema. Estou montando uma tela para um cardápio online para um restaurante. As localização das imagns dos pratos vem do bando de dados. Além da tabela com este dado eu tenho outra tabela com a categoria dos pratos, tipo: entrada, prato principal, etc. Estou utilizando o enableSection para enviar estas tabelas no html. Problema. Como são duas tabela(prat...
TF
 
Bom dia galera,

Estou com um problema. Estou montando uma tela para um cardápio online para um restaurante. As localização das imagns dos pratos vem do bando de dados. Além da tabela com este dado eu tenho outra tabela com a categoria dos pratos, tipo: entrada, prato principal, etc. Estou utilizando o enableSection para enviar estas tabelas no html. Problema. Como são duas tabela(prato, com o campo de endereço da imagem e categoriaPrato, com o nome das categorias dos pratos), eu não consigo organizar os dados no layout do HTML, conforme código e figura.
Queria que aparecesse nome da categoria e em baixo seus respectivos pratos e não como está.

class Cardapio extends Configuracao{

private $form;

public function __construct(){
parent::__construct();

TPage::include_css('app/resources/cardapioStyle.css');

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

$this->form = new TQuickForm;

$id = TSession::getValue('idCardapio');//pega ID do cardápio vindo via seção do relaçãoCardapioConsulta p/ sua consulta no bd

$tabela = new TTable;
$this->form->add($tabela);

$replace = array();
$html->enableSection('main', $replace);

try{

TTransaction::open('bdCardapio');

//consulta nome do cardapio para alimentar endereco da imagem
$criterioCardapio = new TCriteria;
$criterioCardapio->add(new TFilter('id', '=', "$id"));

$cardapio = Cardapios::getObjects($criterioCardapio);

foreach ($cardapio as $valorCardapio){
$nomeCardapio = 'app/imgpratos/'.parent::removeAcentosEspaco($valorCardapio->nome).'/';
}

//consulta nome do cardapio para alimentar endereco da imagem
$criterioCategoriaPrato = new TCriteria;
$criterioCategoriaPrato->add(new TFilter('cardapio', '=', "$id"));

$CategoriaPrato = CategoriaPrato::getObjects($criterioCategoriaPrato);

foreach ($CategoriaPrato as $valorCategoriaPrato){

//consulta dados de prato usando id do cardápio como critrio de busca
$criteria = new TCriteria;
$criteria->add(new TFilter('cardapio', '=', "$id"));
$criteria->add(new TFilter('categoria', '=', "$valorCategoriaPrato->id"));

$pratos = Pratos::getObjects($criteria);

foreach ($pratos as $valores){

if (($valorCategoriaPrato->id == $valores->categoria) and ($flag <> $valores->categoria)){
$replaceCategoriaPratos[] = $valorCategoriaPrato->toArray(); // array of replacements
$html->enableSection('categoriaprato', $replaceCategoriaPratos, TRUE);
$flag = $valores->categoria;
}

$valores->preco = parent::converteFloatReal($valores->preco);
$valores->endimagem = $nomeCardapio.$valores->endimagem;
$replacePratos[] = $valores->toArray(); // array of replacements
}

$html->enableSection('pratos', $replacePratos, TRUE);
}

TTransaction::close();

$vbox = new TVBox;

$vbox->add($html);

parent::add($vbox);
}
catch (Exception $e){
new TMessage('error', $e->getMessage());
}
}

}
?>

HTML


<div id="tela">

<div id="header">

Cardápio online


<img src="app\templates\telas\images\logo_pequena.jpg">
</div>

<!--[categoriaprato]-->
<div id="categoriaPrato">

{$nome}



<!--[pratos]-->
<a href="">
<div id="prato">
<img src="{$endimagem}">

{$nome}


Preço: R$ {$preco}


</div>
</a>
<!--[/pratos]-->

</div>
<!--[/categoriaprato]-->
</div>

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (0)