<title>Templates partindo de outras fontes</title>
<para>
Voc<6F> pode resgatar templates usando qualquer fonte poss<73>vel de voc<6F> acessar com PHP: banco
de dados, sockets, LDAP, e assim por diante.
Voc<6F> faz isto escrevendo as fun<75><6E>es de plugin
de recurso e registrando elas com o Smarty.
</para>
<para>
Veja a se<73><65>o <linklinkend="plugins.resources">plugins de recurso</link>
para mais informa<6D><61>o sobre as fun<75><6E>es
que voc<6F> deve fornecer.
</para>
<note>
<para>
Note que voc<6F> pode ativar manualmente o recurso de <literal>arquivo</literal> embutido, mas n<>o pode fornecer um recurso que busca templates a partir do sistema de arquivos de alguma outra forma registrando sob um outro nome de recurso.
<literal>file</literal> resource, but you can provide a resource
that fetches templates from the file system in some other way by
registering under another resource name.
</para>
</note>
<example>
<title>usando recursos customiz<69>veis</title>
<programlisting>
// no script PHP
// ponha estas fun<75><6E>es em algum lugar de sua aplica<63><61>o
function db_get_template ($tpl_name, &$tpl_source, &$smarty_obj)
{
// fa<66>a o banco de dados chamar aqui para buscar o seu template,
// preenchendo o $tpl_source
$sql = new SQL;
$sql->query("select tpl_source
from my_table
where tpl_name='$tpl_name'");
if ($sql->num_rows) {
$tpl_source = $sql->record['tpl_source'];
return true;
} else {
return false;
}
}
function db_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj)
{
// fa<66>a o banco de dados chamar daqui para preencher a $tpl_timestamp.
$sql = new SQL;
$sql->query("select tpl_timestamp
from my_table
where tpl_name='$tpl_name'");
if ($sql->num_rows) {
$tpl_timestamp = $sql->record['tpl_timestamp'];
return true;
} else {
return false;
}
}
function db_get_secure($tpl_name, &$smarty_obj)
{
// assume-se que todos os templates s<>o seguros
return true;
}
function db_get_trusted($tpl_name, &$smarty_obj)