Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Templates componentizados

Tradicionalmente, programar templates para suas aplicações é feito da seguinte maneira: Primeiro, você guardar suas variáveis junto com a aplicação PHP, (talvez obtendo-as de consultas à banco de dados). Após, você instancia seu objeto Smarty, atribui valores às variáveis e mostra o template. Digamos que nós temos um registrador de estoque em nosso template. Nós coletaríamos os dados do estoque em nossa aplicação, e então atribuíriamos valores as variáveis referentes à ele no template e depois exibiríamos o template na tela. Agora não seria legal se você pudesse adicionar este registrador de esto em qualquer aplicação simplesmente incluindo um template nela, e sem se preocupar com a busca dos dados futuramente?

Você pode fazer isto escrevendo um plugin personalizado que obteria o conteúdo e atribuiria ele à uma variável definida no template.

Example 18.7. Template componentizado


<?php

// coloque o arquivo "function.load_ticker.php" no diretório plugin

// configura nossa função para pegar os dados do estoque
function fetch_ticker($symbol) 
{
   // coloque a lógica que obtém os dados de 
   // algum recurso e guarde na variável $ticker_info
   return $ticker_info;
}

function smarty_function_load_ticker($params, &$smarty) 
{
   // chama a função
   $ticker_info = fetch_ticker($params['symbol']);
   
   // atribuite o valor à uma variável no template
   $smarty->assign($params['assign'], $ticker_info);
}
?>

    

index.tpl
---------

{* Smarty *}

{load_ticker symbol="YHOO" assign="ticker"}

Nome no estoque: {$ticker.name} Preço no estoque: {$ticker.price}

    

Comments
No comments for this page.

Advertisement