Modelos Smarty Muito tem se falado sobre os Smarty modelos e também sobre as vantagens de seu uso no XOOPS.

Agora nem todo mundo ainda tem uma visão clara do que é o Smarty e quais são os benefícios diretos aos utilizadores e programadores. Como funciona um programa PHP Os programas PHP são páginas html comuns, porém possuem alguns comandos especiais que são interpretados pelo servidor. Mesmo sendo interpretados pelo servidor o resultado do PHP ainda é HTML. (Veja o quadro abaixo) Se você utilizar um editor de textos e abrir uma página com extensão .php perceberá que existem uma série de comandos todos misturados. Tudo o que estiver contido entre os sinais corresponde ao código PHP e tudo que estiver contido entre os sinas < e > corresponde ao código HTML. Por exemplo: include(“inc/header.php”); ?> Bem vindo ao meu site O grande segredo está no processamento no servidor, este é quem detém a inteligência para interpretar todas as informações. Por exemplo, o servidor é capaz de consultar o banco de dados e converter seu resultado em HTML. Os comandos indicando o que o servidor deverá buscar no banco de dados estão no PHP, porém quem converte esta informação em HTML para o utilizador é o servidor. (Veja o quadro abaixo) O que são Templates? Um modelo é um modelo, como aqueles que utilizamos no Word por exemplo. Um dos maiores problemas na programação PHP é conseguir manter claro o código que está sendo programado, pois a grande quantidade de sinais de maior e menor acaba misturando tudo e tornando quase impossível qualquer um de ler uma página PHP. Os modelos ou modelos servem para separar o código PHP do código HTML, ou seja, permitem que façamos os programas PHP de forma organizada sem misturá-lo com o HTML. Interpretadores de Templates Já que separamos o código PHP do código HTML para tornar o código mais legível e sabemos que o resultado do processamento de uma página PHP sempre é HTML, então vem a pergunta: “Qual é o ator coadjuvante desta novela?”. É o Smarty!!! O Smarty é um Interpretador de Templates, que traduz o código PHP e gera código HTML. (Veja o quadro abaixo)

Além do Smarty existem outros Interpretadores de modelos um bastante conhecido é o Fast Template. Para mais informações visite o www.vivaolinux.com.br e dê uma conferida nos artigos do Fábio Berbert (Fast modelo Master) é um expert no assunto. Cache, agilidade na medida certa Um dos recursos do Smarty mais interessantes é o seu “Cache System”, com ele é possível deixar as páginas pré-processada, para poupar processamento do servidor. Em sítios com muitos acessos este recurso é essencial. Com este recurso podemos atualizar a Home Page a cada cinco minutos por exemplo, desta forma o servidor não precisará se ocupar executando o mesmo PHP dezenas de vezes, ele utilizará uma versão pré-processada. XOOPS e o Smarty Uma das deficiências do XOOPS até a versão 2.0 era a dificuldade de modificar o layout de blocos e módulos, pois prá isso era preciso abrir arquivos PHP quase que indecifráveis. Após a implementação do Smarty isso ficou muito mais fácil, agora podemos usar o mesmo módulo com layouts completamente diferentes sem a necessidade de abrir nenhum arquivo PHP.

Além disso o pessoal do XOOPS montou um “Gerenciador de Conjunto de Modelos” ou “Template Set Manager”, com este recurso, podemos criar diversos conjuntos de modelos para um mesmo sítio ou então para temas diferentes. Ainda não acabou não, para complementar e “Fechar com chave de ouro” foi implementado também a tecnologia Smarty nos blocos, pois bem, desta forma é possível montar blocos completamente diferentes em Conjuntos de Modelos diferentes. Aos desbravadores de Templates Comandos e Variáveis do Smarty Você deve estar se perguntando como o Smarty sabe aonde deve colocar cada pedaço de informação? A resposta é simples, utilizamos algumas variáveis para determinar qual informação deve ser exibida e aonde deve ser exibida. Antes de customizarmos um bloco vale lembrar que todas as variáveis e comandos do Smarty são contidos por chaves. Porém a integração com o XOOPS requer mais um conjunto de caractéres o maior e menor. Exemplo 1 (Smarty FORA do XOOPS):
{$xoops_url}

Exemplo 2 (Smarty DENTRO do XOOPS):
<{$xoops_url}>

O Smarty Debugger Dentro das preferências do XOOPS é possível encontrar um item chamado “Smarty Debugger”. Sempre que for modificar algum modelo ative esta opção, pois com ela habilitada será possível verificar os nomes e valores das variáveis tratadas no Smarty. Customizando o Bloco de Busca Vamos ao que interessa, customização!!! Como exemplo vou utilizar o código do bloco de busca, que está em modelo Set>System-> system_block_search.html É só clicar em editar e aparecerá o seguinte código:

<form style="margin-top: 0px;" action="<{$xoops_url}>/search.php" method="post"> <input type="text" name="query" size="14" /> <input type="hidden" name="action" value="results" /> <br /> <input type="submit" value="<{$block.lang_search}>" /> </form> <a href="<{$xoops_url}>/search.php"> <{$block.lang_advsearch}> </a>
Eu quero diminuir um pouco o tamanho da minha caixa de busca e dar um espaço maior ao link de busca avançada e centralizá-lo. Então faremos as seguintes modificações: <form style="margin-top: 0px;" action="<{$xoops_url}>/search.php" method="post"> <input type="text" name="query" size="10" /><input type="hidden" name="action" value="results" /> <br /> <input type="submit" value="<{$block.lang_search}>" /> </form> <p align=”center”> <a href="<{$xoops_url}>/search.php"> <{$block.lang_advsearch}> </a> </p> Agora é só salvar nosso modelo e pronto. Está feita a modificação em nosso layout. Adicionando uma imagem para busca avançada:

<form style="margin-top: 0px;" action="<{$xoops_url}>/search.php" method="post"> <input type="text" name="query" size="10" /> <input type="hidden" name="action" value="results" /> <br /> <input type="submit" value="<{$block.lang_search}>" /> </form> <p align=”center”> <a href="<{$xoops_url}>/search.php"> <img src=”<{$xoops_url}>/themes/default/images/buscaavancada.gif” /> </a> </p>
Note que eu utilizei a variável <{$xoops_url}> . Esta variável contém o endereço de seu site, ou seja,
http://www.meusite.com.br

. Dicas de customização 1) Tome cuidado para não esquecer dos caracteres delimitadores, ou seja,

<{

e

}>

2) Antes de acrescentar alguma variável, verifique se ela aparece no Smarty Debugger 3) Trabalhe sempre na cópia de seu Conjunto de Modelos 4) Lembre-se que embora o manual do Smarty use apenas as chaves como delimitadores o XOOPS requer que sejam adicionados os sinais de maior e menor Nota Imagino que queiram saber mais sobre Smarty, mas podem ficar tranqüilos que este é apenas o primeiro artigo sobre Smarty. :-)

Sign up to vote on this title
UsefulNot useful