dificuldade para se trabalhar com templates

Community support in all Portuguese variants (pt_PT and pt_BR).

Moderator: Jo Morg

Post Reply
leoliveira00
New Member
New Member
Posts: 4
Joined: Tue Sep 08, 2009 8:37 pm

dificuldade para se trabalhar com templates

Post by leoliveira00 »

Olá.
Sou desenvolvedor php e gosto de ter liberdade na criação e montagem dos layouts (usando tableless). Por esse motivo, nunca gostei muito de usar cms. Porém conheci hoje mesmo o cmsms e estou me surpreendendo com a liberdade que ele dá no quesito design, mas claro que como todo iniciante, estou com muitas dúvidas e gostaria da ajuda de vocês.

Minhas configurações:
Versão do CMS: 1.6.5;
Php: 5.2.4;
BD: MySQL 5.0.45
Apache/2.0.59 (Win32)
WINNT 5.1 Ligado i586

Bom, a minha primeira dúvida é sobre como criar meus próprios templates. Além disso gostaria de usar frameworks como o jquery, mooltools, aplicativos em flash, enfim. Mão estou me dando bem com a relação html - css. Alguém pode me ajudar? Como criar templates?

Muito Obrigado.
viebig

Re: dificuldade para se trabalhar com templates

Post by viebig »

Fala Amigo!

Muito bem vindo!

Templates são puro html, e smarty.

Mini Tutorial CMS Made Simple CMSMS - Templates

Sugiro que você fuce um pouco e descubra mais sobre o smarty e como ele funciona.

De qualquer forma ai vão algumas dicas!

Eis aqui um template minimalista

Code: Select all

<__html>
<head>
<title>{title} - {sitename}</title>
</head>
</__body>
{menu}
{content}
<__body>
</__html>
Veja que temos puro html e algumas tags smarty, que serão substituídas. por exemplo {title} é o título da página, {sitename} o nome do site, {menu} uma lista com as páginas do site, {content} o conteúdo da página.

Veja que os delimitadores das tags em smarty são chaves "{"  "}" e tudo que estivr entre chaves será processado, por exemplo:

Code: Select all

<__html>
<head>
<title>{title} - {sitename}</title>
<__script__ type="text/javascript">
function oi()
{
alert ("oi");
}
</__script>
</head>
</__body>
{menu}
{content}
<__body>
</__html>
Este código acima levará o cmsms à um erro pois o smarty tenta entender:

Code: Select all

{alert ("oi");}
que obviamente não é uma tag do smarty e sim javascript. assim sendo temos de dizer ao smarty para não processar essas chaves, fazemos isso assim:

Code: Select all

<__html>
<head>
<title>{title} - {sitename}</title>
<__script__ type="text/javascript">
{literal}
function oi()
{
alert ("oi");
}
{/literal}
</__script>
</head>
</__body>
{menu}
{content}
<__body>
</__html>
Perceba que a tag {literal}...{/literal} faz com que todo o conteúdo dentro dela seja processado como texto, e não interpretado pelo smarty.

Muitas vezes tags chamam módulos que por si tem outros templates editáveis, como o {menu}

Parece difícil mas é bem mais simples do que programar em PHP. Aprenda Smarty. Se quiser ajuda, um curso ou qualquer outra coisa poste aqui ou mande uma mensagem para mim.

Abraços
leoliveira00
New Member
New Member
Posts: 4
Joined: Tue Sep 08, 2009 8:37 pm

Re: dificuldade para se trabalhar com templates

Post by leoliveira00 »

Viebig, valeu mesmo pela dica. Saquei como funciona, vc explica muito bem. Deu certo aq o teste que fiz com o lightbox. Incluí o jquery e o plugin dentro do próprio template. Agora, acho que seria bem mais legal definir uma tag. Tentei fazer da seguinte forma, mas não funcionou:

nome da tag: incluiJquery
código:
{literal}


{/literal}

Daí seria só colocar no template {incluiJquery}

Tem alguma dica de como definir isto usando tags, Viebig?

Mais uma vez Obrigado.
viebig

Re: dificuldade para se trabalhar com templates

Post by viebig »

tags são PHP, global content blocks é smarty

numa tag seria

Code: Select all

echo '<__script__ type="text/javascript" src="js/jquery-1.2.6.pack.js"></__script>';
Num Global Content Block seria

Code: Select all

{literal}
<!--esta tag inclui a biblioteca jquery-->
<__script__ type="text/javascript" src="js/jquery-1.2.6.pack.js"></__script>
{/literal}
E você chamaria essa tag assim

Code: Select all

{global_content name="nome-do-global-content-block"}
Post Reply

Return to “Portuguese - Português”