Métodosappendvoid appendmixed varvoid appendstring varnamemixed varvoid appendstring varnamemixed varboolean merge
Isso é usado para adicionar um elemento para um array fixado. Se você adicionar
uma string como valor, isso irá converter-se para um valor de array e então adicioná-lo.
Você pode explicitamente passar pares nomes/valores, ou arrays associativos
contendo o par nome/valor. Se você passar o terceiro parâmetro opcional para true,
o valor unir-se ao array atual
ao invés de ser adicionado.
Notas Técnicas
O parâmetro de união respeita a chave do array, então se você
mesclar dois índices númericos de um array, eles devem sobrescrever-se
um ao outro ou em resultados não sequências de chave. Isso é diferente da função de PHP array_merge()
que apaga as chaves e as renumera.
append
// passing name/value pairs
$smarty->append("Name","Fred");
$smarty->append("Address",$address);
// passing an associative array
$smarty->append(array("city" => "Lincoln","state" => "Nebraska"));append_by_refvoid append_by_refstring varnamemixed varvoid append_by_refstring varnamemixed varboolean merge
Isso é usado para adicionar vlaores para o template por referência.
Se você adicionar uma variável por referência e então alterar este valor
o valor adicionado enxergará a alteração também. Para objetos,
append_by_ref() também evita uma cópia em memória do objeto adicionado.
Veja o manual do PHP em referenciando variáveis para uma melhor explanação sobre o assunto.
Se você passar o terceiro parâmetro opcional para true,
o valor irá ser mesclado com o array atual ao invés de adicioná-lo.
Notas Técnicas
O parâmetro de união respeita a chave do array, então se você mesclar
dois índices númericos de arrays, eles devem sobrescrever-se um ao outro ou
em resultados não sequências de chave. Isso é diferente da função de PHP array_merge()
que apaga as chaves numéricas e as renumera.
append_by_ref
// appending name/value pairs
$smarty->append_by_ref("Name",$myname);
$smarty->append_by_ref("Address",$address);assignvoid assignmixed varvoid assignstring varnamemixed var
Isso é usado para fixar valores para o template. Você pode
explicitamente passar pares de nomes/valores, ou um array associativo
contendo o par de nome/valor.
assign
// passing name/value pairs
$smarty->assign("Name","Fred");
$smarty->assign("Address",$address);
// passing an associative array
$smarty->assign(array("city" => "Lincoln","state" => "Nebraska"));assign_by_refvoid assign_by_refstring varnamemixed var
Isso é usado para fixar valores para o template por referência ao invés de fazer uma cópia.
Veja o manual do PHP na parte sobre referência de variáveis para uma explanação mais detalhada.
Notas Técnicas
Isso é usado para fixar valores para o template por referência.
Se você fixar uma variável por referência e então alterar o valor dela,
o valor fixado enxergará o valor alterado também.
Para objetos, assign_by_ref() também restringe uma cópia de objetos fixados
em memória.
Veja o manual do php em refereciando variáveis para uma melhor explanação.
assign_by_ref
// passing name/value pairs
$smarty->assign_by_ref("Name",$myname);
$smarty->assign_by_ref("Address",$address);clear_all_assignvoid clear_all_assign
Isso limpa o valor de todas as variáveis fixadas.
clear_all_assign
// clear all assigned variables
$smarty->clear_all_assign();clear_all_cachevoid clear_all_cacheint expire time
Isso limpa completamente o cache de template. Como um parâmetro
opcional, você pode fornecer um ano mínimo em segundos
que o arquivo de cache deve ter antes deles serem apagados.
clear_all_cache
// clear the entire cache
$smarty->clear_all_cache();clear_assignvoid clear_assignstring var
Isso limpa o valor de uma variável fixada. Isso
pode ser um valor simples, ou um array de valores.
clear_assign
// clear a single variable
$smarty->clear_assign("Name");
// clear multiple variables
$smarty->clear_assign(array("Name","Address","Zip"));clear_cachevoid clear_cachestring templatestring cache idstring compile idint expire time
Isso limpa o cache de um template específico. Se você tem
múltiplos caches para este arquivo, você limpa o cache
específico fornecendo o cache id como o segundo parâmetro.
Você pode também passar um compile id como um terceiro parâmetro.
Você pode "agrupar" templates juntos e então eles podem ser removidos
como um grupo. Veja o caching section para maiores informações. Como um quarto
parâmetro opcional, você pode fornecer um ano mínimo em segundos
que o arquivo de cache deve
ter antes dele ser apagado.
clear_cache
// clear the cache for a template
$smarty->clear_cache("index.tpl");
// clear the cache for a particular cache id in an multiple-cache template
$smarty->clear_cache("index.tpl","CACHEID");clear_compiled_tplvoid clear_compiled_tplstring tpl_file
Isso limpa a versão compilada do recurso de template especificado,
ou todos os arquivos de templates compilados se nenhum for especificado.
Essa função é para uso avançado somente, não normalmente necessária.
clear_compiled_tpl
// clear a specific template resource
$smarty->clear_compiled_tpl("index.tpl");
// clear entire compile directory
$smarty->clear_compiled_tpl();clear_configvoid clear_configstring var
Isso limpa todas as variáveis de configuração fixadas. Se um nome de variável
é fornecido, somente esta variável é apagada.
clear_config
// clear all assigned config variables.
$smarty->clear_config();
// clear one variable
$smarty->clear_config('foobar');config_loadvoid config_loadstring filestring section
Isso carrega o arquivo de configuração de dados e fixa-o para o
template. Isso funciona idêntico a função
config_load.
Notas Técnicas
À partir da Smarty 2.4.0, variáveis de template fixadas são
mantidas através de fetch() e display(). Variáveis de configuração carregadas
de config_load() são sempre de escopo global. Arquivos de configuração
também são compilados para execução rápida, e repeita o force_compile e compile_check parâmetros de configuração.
config_load
// load config variables and assign them
$smarty->config_load('my.conf');
// load a section
$smarty->config_load('my.conf','foobar');displayvoid displaystring templatestring cache_idstring compile_id
Isso mostra o template. Fornecendo um válido template resource
tipo e path. Como um segundo parâmetro opcional, você pode passar
um cache id. Veja o caching
section para maiores informações.
Como um terceiro parâmetro opcional, você pode passar um compile id.
Isso está no evento que você quer compilar diferentes versões do
mesmo template, como ter templates compilados separadamente para diferentes linguagens.
Outro uso para compile_id é quando você usa mais do que um $template_dir
mas somente um $compile_dir. Seta um compile_id em separado para cada $template_dir,
de outra maneira templates com mesmo nome irão sobrescrever-se um ao outro.
Você pode também setar a variável $compile_id ao invés de
passar isso para cada chamada
de display().
display
include("Smarty.class.php");
$smarty = new Smarty;
$smarty->caching = true;
// only do db calls if cache doesn't exist
if(!$smarty->is_cached("index.tpl"))
{
// dummy up some data
$address = "245 N 50th";
$db_data = array(
"City" => "Lincoln",
"State" => "Nebraska",
"Zip" = > "68502"
);
$smarty->assign("Name","Fred");
$smarty->assign("Address",$address);
$smarty->assign($db_data);
}
// display the output
$smarty->display("index.tpl");
Use a sintaxe para template resources para
mostrar arquivos fora do $template_dir directory.
Exemplos de recursos da função display
// absolute filepath
$smarty->display("/usr/local/include/templates/header.tpl");
// absolute filepath (same thing)
$smarty->display("file:/usr/local/include/templates/header.tpl");
// windows absolute filepath (MUST use "file:" prefix)
$smarty->display("file:C:/www/pub/templates/header.tpl");
// include from template resource named "db"
$smarty->display("db:header.tpl");fetchstring fetchstring templatestring cache_idstring compile_id
Isso retorna a saída do template ao invés de mostrá-lo.
Fornecendo um tipo ou path válido template resource.
Como um segundo parâmetro opcional, você pode passar o cache id.
Veja o caching
section para maiores informações.
Como um terceiro parâmetro opcional, você pode passar um compile id.
Isso está no evento que você quer compilar diferentes versões do
mesmo template, como ter templates compilados separadamente para
diferentes linguagens. Outro uso para compile_id é quando você
usa mais do que um $template_dir mas somente um $compile_dir. Seta
um compile_id em separado para cada $template_dir, de outra maneira
templates com mesmo nome irão sobrescrever-se uns aos outros. Você
pode também setar a variável $compile_id ao invés
de passá-la para cada chamada de fetch().
fetch
include("Smarty.class.php");
$smarty = new Smarty;
$smarty->caching = true;
// only do db calls if cache doesn't exist
if(!$smarty->is_cached("index.tpl"))
{
// dummy up some data
$address = "245 N 50th";
$db_data = array(
"City" => "Lincoln",
"State" => "Nebraska",
"Zip" = > "68502"
);
$smarty->assign("Name","Fred");
$smarty->assign("Address",$address);
$smarty->assign($db_data);
}
// capture the output
$output = $smarty->fetch("index.tpl");
// do something with $output here
echo $output;get_config_varsarray get_config_varsstring varname
Isso retorna o valor da variável de configuração dada.
Se nenhum parâmetro é dado, um array de todas as variáveis dos arquivos de configurações é retornado.
get_config_vars
// get loaded config template var 'foo'
$foo = $smarty->get_config_vars('foo');
// get all loaded config template vars
$config_vars = $smarty->get_config_vars();
// take a look at them
print_r($config_vars);get_registered_objectarray get_registered_objectstring object_name
Isso retorna uma referência para um objeto registrado.
Isso é útil para dentro de uma função customizada quando você
precisa acessar diretamente um objeto registrado.
get_registered_object
function smarty_block_foo($params, &$smarty) {
if (isset[$params['object']]) {
// get reference to registered object
$obj_ref =& $smarty->&get_registered_object($params['object']);
// use $obj_ref is now a reference to the object
}
}get_template_varsarray get_template_varsstring varname
Isso retorna o valor de uma variável fixada. Se nenhum parâmetro
é dado, um array de todas as variávels fixadas é retornado.
get_template_vars
// get assigned template var 'foo'
$foo = $smarty->get_template_vars('foo');
// get all assigned template vars
$tpl_vars = $smarty->get_template_vars();
// take a look at them
print_r($tpl_vars);is_cachedvoid is_cachedstring template[string cache_id]
Isso retorna true se há um cache válido para esse template.
Isso somente funciona se caching está setado para true.
is_cached
$smarty->caching = true;
if(!$smarty->is_cached("index.tpl")) {
// do database calls, assign vars here
}
$smarty->display("index.tpl");
Você pode também passar um cache id como um segundo parâmetro opcional
no caso você quer múltiplos caches para o template dado.
is_cached with multiple-cache template
$smarty->caching = true;
if(!$smarty->is_cached("index.tpl","FrontPage")) {
// do database calls, assign vars here
}
$smarty->display("index.tpl","FrontPage");load_filtervoid load_filterstring typestring name
Essa função pode ser usada para carregar um filtro de plugin. O primeiro
argumento especifica o tipo do filtro para carregar e pode ser um
dos seguintes: 'pre', 'post', ou 'output'. O segundo argumento
especifica o nome do filtro de plugin, por exemplo, 'trim'.
Carregando filtros de plugins
$smarty->load_filter('pre', 'trim'); // load prefilter named 'trim'
$smarty->load_filter('pre', 'datefooter'); // load another prefilter named 'datefooter'
$smarty->load_filter('output', 'compress'); // load output filter named 'compress'register_blockvoid register_blockstring namemixed implbool cacheablearray or null cache_attrs
Use isso para registrar dinamicamente blocos de funções de plugins.
Passe no bloco de nomes de função, seguido por uma chamada de função PHP
que implemente isso.
A chamada de uma função-php impl pode ser (a)
uma string contendo o nome da função ou (b) um array no formato
array(&$object, $method) com
&$object sendo uma referência para um
objeto e $method sendo uma string
contendo o nome do método ou (c) um array no formato
array(&$class, $method) com
$class sendo um nome de classe e
$method sendo um
método desta classe.
$cacheable e $cache_attrs podem ser omitidos na maior parte dos casos. Veja Controlando modos de Saída de Cache dos Plugins para obter informações apropriadas.
register_block
/* PHP */
$smarty->register_block("translate", "do_translation");
function do_translation ($params, $content, &$smarty, &$repeat) {
if (isset($content)) {
$lang = $params['lang'];
// do some translation with $content
return $translation;
}
}
{* template *}
{translate lang="br"}
Hello, world!
{/translate}register_compiler_functionvoid register_compiler_functionstring namemixed implbool cacheable
Use isso para registrar dinamicamente uma função de plugin compilador.
Passe no nome da função compilador, seguido pela função
PHP que implemente isso.
A chamada para função-php impl
pode ser uma string contendo o nome da função ou (b) um array
no formato array(&$object, $method) com
&$object sendo uma referência para um
objeto e $method sendo uma string
contendo o nome do método ou (c) um array no formato
array(&$class, $method) com
$class sendo um nome de classe e
$method sendo o método
desta classe.
$cacheable pode ser omitido na maioria
dos casos. Veja Controlando modos de Saída de Cache dos Plugins
para obter informações apropriadas.
register_functionvoid register_functionstring namemixed implbool cacheablearray or null cache_attrs
Use isso para registrar funções de plugins dinamicamente para o template.
Passe no template o nome da função,
seguido pelo nome da função PHP que implemente isso.
A chamada para função-php impl pode ser (a)
uma string contendo o nome da função ou (b) um array no formato
array(&$object, $method) com
&$object sendo uma referência para um
objeto e $method sendo uma string
contendo o nome do método ou (c) um array no formato
array(&$class, $method) com
$class sendo um nome de classe e
$method sendo um método
desta classe.
$cacheable e $cache_attrs podem ser omitidos na maioria dos casos. Veja Controlando modos de Saída Cache dos Plugins para obter informações apropriadas.
register_function
$smarty->register_function("date_now", "print_current_date");
function print_current_date ($params) {
extract($params);
if(empty($format))
$format="%b %e, %Y";
return strftime($format,time());
}
// agora você pode usar isso no Smarty para mostrar a data atual: {date_now}
// ou, {date_now format="%Y/%m/%d"} para formatar isso.register_modifiervoid register_modifierstring namemixed impl
Use isso para modificar dinamicamente plugins registrados.
Passe no template o nome do modificador, seguido da função PHP
que implemente isso.
A chamada da função-php impl
pode ser (a) uma strin contendo o nome da função
ou (b) um array no formato
array(&$object, $method) com
&$object sendo uma referência para um
objeto e $method sendo uma string
contendo o nome do método ou (c) um array no formato
array(&$class, $method) com
$class sendo um nome de classe e
$method sendo um método desta classe.
register_modifier
// let's map PHP's stripslashes function to a Smarty modifier.
$smarty->register_modifier("sslash","stripslashes");
// now you can use {$var|sslash} to strip slashes from variablesregister_objectvoid register_objectstring object_nameobject $objectarray allowed methods/propertiesboolean formatarray block methods
Isso é para registrar um objeto para uso no template. Veja a
seção de objetos
do manual para examplos.
register_outputfiltervoid register_outputfiltermixed function
Use isso para registrar dinamicamente filtros de saída para operações
na saída do template antes de mostrá-lo. Veja
Filtros de Saída de Templates
para maiores informações de como configurar uma
função de filtro de saída.
A chamada da função-php function pode
ser (a) uma string contendo um nome de função ou (b) um array no formato
array(&$object, $method) com
&$object sendo uma referência para um
objeto e $method sendo uma string
contendo o nome do método ou (c) um array no formato
array(&$class, $method) com
$class sendo um nome de classe e
$method sendo um método
desta classe.
register_postfiltervoid register_postfiltermixed function
Use isso para registrar dinamicamente pósfiltros para rodar templates
após eles terem sido compilados. Veja
pósfiltros de template para
maiores informações de como configurar funções de pósfiltragem.
A chamada da função-php function pode
ser (a) uma string contendo um nome de função ou (b) um array no formato
array(&$object, $method) com
&$object sendo uma referência para um
objeto e $method sendo uma string
contendo o nome do método ou (c) um array no formato
array(&$class, $method) com
$class sendo um nome de classe e
$method sendo um método
desta classe.
register_prefiltervoid register_prefiltermixed function
Use isso para registrar préfiltros dinamicamente para rodar
templates antes deles serem compilados. Veja template prefilters para
maiores informações de como configurar uma função de préfiltragem.
A chamada da função-php function pode
ser (a) uma string contendo um nome de função ou (b) um array no formato
array(&$object, $method) com
&$object sendo uma referência para um
objeto e $method sendo uma string
contendo o nome do método ou (c) um array no formato
array(&$class, $method) com
$class sendo um nome de classe e
$method sendo um método
desta classe.
register_resourcevoid register_resourcestring namearray resource_funcs
Use isso para registrar dinamicamente um recurso de plugin com a Smarty.
Passe no nome o recurso e o array de funções
PHP que implementam isso. Veja
template resources
para maiores informações de como configurar uma função para retornar
templates.
Notas Técnicas
Um nome de recurso deve ter ao menos dois caracteres de comprimento.
Um caracter do nome de recurso irá ser ignorado e usado como parte do
path do arquivo como, $smarty->display('c:/path/to/index.tpl');
A função-php-array resource_funcs
deve ter 4 ou 5 elementos. Com 4 elementos os elementos são
as functions-callbacks para as respectivas funções "source",
"timestamp", "secure" e "trusted" de recurso.
Com 5 elementos o primeiro elemento tem que ser um objeto por referência
ou um nome de classe do objeto ou uma classe implementando o recurso e os 4
elementos seguintes tem que ter os nomes de métodos
implementando "source", "timestamp",
"secure" e "trusted".
register_resource
$smarty->register_resource("db", array("db_get_template",
"db_get_timestamp",
"db_get_secure",
"db_get_trusted"));trigger_errorvoid trigger_errorstring error_msg[int level]
Essa função pode ser usada para saída de uma mensagem de erro usando Smarty.
O parâmetro level pode ser um dos valores usados
para a função de php trigger_error(), ex.: E_USER_NOTICE,
E_USER_WARNING, etc. Por padrão é E_USER_WARNING.
template_existsbool template_existsstring template
Essa função checa se o template especificado existe. Isso pode
aceitar um path para o template no filesystem ou um recurso de string
especificando o template.
unregister_blockvoid unregister_blockstring name
Use isso para desregistrar dinamicamente um bloco de funções de plugin.
Passe no bloco o nome da função.
unregister_compiler_functionvoid unregister_compiler_functionstring name
Use essa função para desregistrar uma função de compilador. Passe
o nome da função de compilador.
unregister_functionvoid unregister_functionstring name
Use isso para desregistrar dinamicamente uma função de plugin do template.
Passe no template o nome da função.
unregister_function
// nós não queremos que designers template tenham acesso aos nossos arquivos do sistema
$smarty->unregister_function("fetch");unregister_modifiervoid unregister_modifierstring name
Use isso para desregistrar dincamimente um modificador de plugin.
Passe no template o nome do modificador.
unregister_modifier
// nós não queremos que designers de template usem strip tags para os elementos
$smarty->unregister_modifier("strip_tags");unregister_objectvoid unregister_objectstring object_name
Use isso para desregistrar um objeto.
unregister_outputfiltervoid unregister_outputfilterstring function_name
Use isso para desregistrar dinamicamente um filtro de saída.
unregister_postfiltervoid unregister_postfilterstring function_name
Use isso para dinamicamente desregistrar um pósfiltro.
unregister_prefiltervoid unregister_prefilterstring function_name
Use isso para dinamicamente desregistrar um préfiltro.
unregister_resourcevoid unregister_resourcestring name
Use isso para dinamicamente desregistrar um recurso de plugin.
Passe no parâmetro nome o nome do recurso.
unregister_resource
$smarty->unregister_resource("db");