AT
Cards, formatar valor R$ em um ítem do setItemTemplate.
Prezados amigos, boa tarde.
Estou fazendo uma tela simples utilizando Cards na minha aplicação. A dificuldade é formatar em R$ um atributo numérico (cad_veiculo_valor_prev_venda) que vem do banco para o SetItemTemplate.
O Exemplo disponibilizado no tutor: https://framework.adianti.me//tutor/index.php?class=ProductCardView não trata esta questão.
Sou novo no Adianti e, apesar de estar gostando muito do framework as vezes tenho a impressão que o mesmo simplifica com maestrica questões complexas e complica as vezes coisas simples.
Se alguém puder ajudar agradeço.
Segue o código.
Estou fazendo uma tela simples utilizando Cards na minha aplicação. A dificuldade é formatar em R$ um atributo numérico (cad_veiculo_valor_prev_venda) que vem do banco para o SetItemTemplate.
O Exemplo disponibilizado no tutor: https://framework.adianti.me//tutor/index.php?class=ProductCardView não trata esta questão.
Sou novo no Adianti e, apesar de estar gostando muito do framework as vezes tenho a impressão que o mesmo simplifica com maestrica questões complexas e complica as vezes coisas simples.
Se alguém puder ajudar agradeço.
Segue o código.
- <?php
- class Cad_VeiculosCardEstoqueR extends TPage
- {
- private $form, $cards, $datagrid, $pageNavigation;
- use Adianti\Base\AdiantiStandardCollectionTrait;
- /**
- * Class constructor
- * Creates the page, the form and the listing
- */
- public function __construct()
- {
- parent::__construct();
- $this->setDatabase('sgc_v2_v76');
- $this->setActiveRecord('Cad_VeiculosCreate');
- $this->addFilterField('description');
- // creates the form
- // $this->form = new BootstrapFormBuilder('form_VeiculosCardEstoqueR');
- // $this->form->setFormTitle(_t('Cars Veículos'));
- // creates the Card View
- $this->cards = new TCardView;
- $this->cards->setContentHeight(150);
- //$this->cards->style = 'min-width: 100px';
- $this->cards->setTitleAttribute('Veículo: {cad_veiculo_nome}');
- $this->setCollectionObject($this->cards);
- $this->cards->setItemTemplate('<div style="float:left;width:50%;padding-right:10px">
- <b>Código: </b> {id} <br>
- <b>Km: </b> {cad_veiculo_km} <br>
- <b>Ano Fabric.:</b> {cad_veiculo_ano_fabricacao} <br>
- <b>Modelo:</b> {cad_veiculo_ano_modelo} <br>
- <b>Preço R$</b> {cad_veiculo_valor_prev_venda}
- </div>
- ');
- //$edit_action = new TAction(['ProductForm', 'onEdit'], ['id'=> '{id}']);
- //$delete_action = new TAction([$this, 'onDelete'], ['id'=> '{id}', 'register_state' => 'false']);
- //$this->cards->addAction($edit_action, 'Edit', 'far:edit bg-blue');
- //$this->cards->addAction($delete_action, 'Delete', 'far:trash-alt bg-red');
- // creates the page navigation
- $this->pageNavigation = new TPageNavigation;
- $this->pageNavigation->setAction(new TAction([$this, 'onReload']));
- // creates the page structure using a table
- $vbox = new TVBox;
- $vbox->style = 'width: 100%';
- $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- //$vbox->add($this->form); // add a row to the form
- $vbox->add(TPanelGroup::pack('', $this->cards, $this->pageNavigation)); // add a row for page navigation
- // add the table inside the page
- parent::add($vbox);
- }
- }
- ?>
Olá.. Tudo Bem!
Basta criar um método get na classe model da sua tabela formatando
o campo desejado.. veja:
Agora é só usar o nome do método {precoBr} no seu template!