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");
?>
...
...
/***** 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éstimos","window.open('emprestimos.htm', '_self');");
24 mm_menu_0404152837_0.addMenuItem("Serviç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:

Clique na imagem para ampliá-la
Saliento que o menu da barra cinza é uma imagem, o que justifica o uso do mapeamento.
E finalmente a pergunta que não quer calar, como posso usar mapeamento de imagens e os respecitos script criados automativamente pelo Fireworks?

Help














