Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

banduk

Javascript, Smarty e Arrays

Recommended Posts

Opa pessoal, tudo bom?

 

Eu sou novo no fórum e em programação com smarty. Eu estou com um problema ao indexar um vetor (que tenho no smarty)com um valor do javascript.

O código aí embaixo é o que estou usando para testar. No lugar dos 0 (zeros) é que quero usar uma variável do javascript para indexar.

aí vai o código:

 

  {literal}
    <script language=javascript>
      <!--
      function trataCategoria(){
        var newOpt = null,
        cont = 0;

        for(cont = 0; cont < 5; cont++){
          newOpt = new Option({/literal}'{$dl_cats[0].name}'{literal}, {/literal}'{$dl_cats[0].name}'{literal});
          select.options[0] = newOpt;
        }
        select.selectedIndex = 0;
      }
      // -->
    </script>
  {/literal}

 

E aí? alguém sabe ajudar?

 

Obrigado, desde já.

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi pessoal, como estava aprendendo cometi um erro muito bobo. Lógicamente não iria funcionar da forma como eu tentava, pois o smarty não é rodado no lado cliente, e nam em tempo real, ele apenas monta a página no servidor. Está certo?

 

Bom, no fim eu copiei o array do smarty para o javascript para utilizá-lo. A solução ficou assim:

 

<script type="text/javascript">
  <!--
  var js_cats = new Array();
  {foreach from=$dl_cats item=dl_cats_item key=idcat}
    js_cats['{$idcat}'] = new Array();
    {foreach from=$dl_cats[$idcat].subcats item=dl_subcats_item key=idsubcat}
      js_cats['{$idcat}']['{$idsubcat}'] = new Array();
      js_cats['{$idcat}']['{$idsubcat}'][0] = '{$dl_subcats_item.id}';
      js_cats['{$idcat}']['{$idsubcat}'][1] = '{$dl_subcats_item.name}';
    {/foreach}
  {/foreach}
  -->
</script>

E eu então tenho uma matriz tridimensional na qual tenho categoria em largura, subcategoria em altura e id e name em profundidade.

 

Me corrijam se estiver errado,

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.