..:: MX Studio Fóruns ::..: Smarty + menu do Fireworks - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Smarty + menu do Fireworks Como usar menu (Fireworks) com o Smarty?

#1 User is offline   adrisup 

  • Group: Membros
  • Posts: 1
  • Joined: 13-April 06

Posted 13 April 2006 - 04:38 PM

A habilidade do Smarty que possibilitar separar o código php dos templates (html's) é fantástico, MAS encontrei um obstáculo tralhando com ele quando preciso usar um menu criado com a ajuda do Fireworks.

dry.gif

Criei um menu simples com a ajuda do Fireworks, e vocês sabem que esse menu já sai do forno, ou melhor, do Fireworks com os respectivos javascripts e mapeamentos das imagens, muito bem! No javascript pode-se usar a famosa tag {literal} {/literal} mas no caso do mapeamento da imagem ou uso de funções desse javascripts é que a coisa fica estranha

No meu exemplo, tenho o teste_com_menu.php que usando o Smarty passa pro template as informações:

teste_com_menu.php :

PHP
<?
...
...
/***** passa os valores das colunas da tabela buscadas via select ******/
$template_manager->assign('sigla',$sigla);
$template_manager->assign('nm_coop',$nm_coop);
$template_manager->assign('ds_endereco',$ds_endereco);
$template_manager->assign('sc_bairro',$sc_bairro);
$template_manager->assign('nm_cidade',$nm_cidade);
$template_manager->assign('cd_uf',$cd_uf);
$template_manager->assign('cep',$cep);

/****** chama o arquivo de template ******/
$template_manager->display("teste_com_menu.htm");
?>



O teste_com_menu.htm recebe essas informações e imprime no devido lugar sem maiores problemas. Mas quando o Smarty encontra no bloco de mapeamento da imagem ele não consegue deixar passar, por algum motivo:

teste_com_menu.htm :

...
15 <!--Fireworks MX 2004 Dreamweaver MX 2004 target. Created Thu Apr 13 09:59:19 GMT-0300 (Hora oficial do Brasil) 2006-->
16 {literal}
17 <script language="JavaScript">
18 <!--
19 function mmLoadMenus() {
20 if (window.mm_menu_0404152837_0) return;
21 window.mm_menu_0404152837_0 = new Menu("root",100,18,"Verdana, Arial, Helvetica, sans-serif",12,"#ffffff","#000000","#4e5f6e","#cccccc","left","middle",3,0,1000,-5,7,true,true,true,0,true,true);
22 mm_menu_0404152837_0.addMenuItem("Investimentos","window.open('investimentos.htm', '_self');");
23 mm_menu_0404152837_0.addMenuItem("Empr&eacute;stimos","window.open('emprestimos.htm', '_self');");
24 mm_menu_0404152837_0.addMenuItem("Servi&ccedil;os","window.open('servicos.htm', '_self');");
25 mm_menu_0404152837_0.hideOnMouseOut=true;
26 mm_menu_0404152837_0.menuBorder=1;
27 mm_menu_0404152837_0.menuLiteBgColor='#4e5f6e';
28 mm_menu_0404152837_0.menuBorderBgColor='#4e5f6e';
29 mm_menu_0404152837_0.bgColor='#4e5f6e';
31 mm_menu_0404152047_1.writeMenus();
32 } // mmLoadMenus()
33 //-->
34 </script>
35 {/literal}
36
37 <script language="JavaScript1.2" src="mm_menu.js"></script>
38 </head>
39 <body>
40 <p>
41 <script language="JavaScript1.2">mmLoadMenus();</script>
42 <img name="teste_com_menu" src="_img/teste_com_menu.gif" width="455" height="34" border="0" usemap="#m_teste_com_menu" alt="">
43 <map name="m_teste_com_menu">
45 <area shape="rect" coords="386,9,434,27" href="contato.htm" target="_self" alt="" >
46 <area shape="rect" coords="313,9,361,27" href="noticias.htm" target="_self" alt="" >
47 <area shape="rect" coords="224,9,289,27" href="associe-se.htm" target="_self" alt="" >

48 <area shape="rect" coords="92,9,199,27" href="#" alt="" onMouseOut="MM_startTimeout();" onMouseOver="MM_showMenu(window.mm_menu_0404152837_0,93,28,null,'teste_com_menu');" >
49 <area shape="rect" coords="15,9,72,27" href="#" alt="" onMouseOut="MM_startTimeout();" onMouseOver="MM_showMenu(window.mm_menu_0404152047_1,16,27,null,'teste_com_menu');" >
50 </map>

...


Agora é que são elas, quando o Smarty carrega o template teste_com_menu.htm passando os valores do select (que está no teste_com_menu.php) carrega tudo direitinho, mas quando se passa o apontador sobre o menu (onde deveria abrir as opções) dá um erro de Objeto Esperado (linha 48) indicando o bloco da tag <map> mas especificamente a linha indicada acima (em vermelho e negrito), conforme imagem abaixo:


user posted image
Clique na imagem para ampliá-la

Saliento que o menu da barra cinza é uma imagem, o que justifica o uso do mapeamento. huh.gif

E finalmente a pergunta que não quer calar, como posso usar mapeamento de imagens e os respecitos script criados automativamente pelo Fireworks?

thumbsup.gif
0

#2 User is offline   hufersil 

  • Group: Moderadores
  • Posts: 1265
  • Joined: 15-January 04

Posted 13 April 2006 - 06:39 PM

O Smarty tem um lance que faz com que você possa alterar as tags de abertura e fechamento ({ e }) dessa forma, você pode usar qualquer outro símbolo.

Eu também utilizo o Smarty e baixei uma extensão para o dreamweaver que ele substitui as tags do Smarty e coloca uns icones (tipo quando você coloca um script PHP no meio do HTML). É bem show, e já vem com uma classe base que estende a Smarty fazendo substituição do lance que citei anteriormente.

Você pode fazer o download da extensão no endereço abaixo:

http://smartydwt.klitsche.org/smartyDWT.zip

Creio que isso resolva seu problema.

@braços e fique com Deus!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)