mto boa dica, Beto! Eu já estava há algum tempo procurando algo desse 
tipo. Já havia tentado outras soluções, mas acabava desistindo por causa 
da complexidade.

Abraços a todos!


Beto escreveu:
> Ainda bem q tudo foi resolvido ne? :D
>
> Acho q cabe uma dica pra os que não conhecem, o php dbug, é o mesmo 
> que um vardump, porem com cores, o que facilita muito na hora de 
> debugar as coisas.
>
> abraixo o link:
> http://dbug.ospinto.com/
>
> Abraços a todos!
>
> 2008/4/4 Mike Maciel <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>>:
>
>     Salve a todos!
>
>     "A sorte está do nosso lado, Luke!" ;-)
>
>     Acho que encontrei o problema... os vários arrays concatenados
>     acabaram me confundindo bastante. No último exemplo que eu enviei,
>     onde dupliquei os valores, precisei adicionar um outro array para
>     armazenar aqueles arrays que ja existiam e incrementar os outros.
>     Tudo funcionou normalmente após excluir a duplicata, e manter o
>     array que eu havia criado.
>
>     A forma correta é:
>
>             $this->data=array(
>                           array(
>                             'chamada' => $do->get('chamada'),
>                             'titulo'  => $do->get('titulo'),
>                             'descricao' => $do->get('resenha'),
>                             'link' => site_url(
>     'noticia/id/'.$do->get('noticia_id') ),
>                             'foto' =>
>     '/uploads/Images/'.$do->get('foto') )
>                           );
>
>     E eu estava fazendo assim:
>
>
>             $this->data=array(
>                     'chamada' => $do->get('chamada'),
>                     'titulo'  => $do->get('titulo'),
>                     'descricao' => $do->get('resenha'),
>                     'link' => site_url('noticia/id/'.$do->get('noticia_id') ),
>                     'foto' => '/uploads/Images/'.$do->get('foto')
>                   );
>         
>
>     Faltava um outro array. Agora está funcionando tudo corretamente.
>
>     Abraços!
>
>     Mike
>
>
>
>
>     Mike Maciel escreveu:
>>     É, parece que vamos msm precisar de toda essa sorte... rs
>>
>>     Dei o var_dump. O resultado é esse:
>>
>>     array(1) { ["noticia"]=> array(5) { ["chamada"]=> string(13) "De
>>     cara nova!" ["titulo"]=> string(43) "Bionobres comemora 3 anos em
>>     grande estilo!" ["descricao"]=> string(87) "Novo layout do site e
>>     novos serviços: Neste aniversário, quem ganha o presennte é
>>     você!" ["link"]=> string(23) "/index.php/noticia/id/1" ["foto"]=>
>>     string(41) "/uploads/Images/foto_3_anos_bionobres.jpg" } }
>>
>>     Em primeira vista, não parece nada incorreto.
>>
>>     Agora quer ver algo interessante?
>>
>>     Resolvi duplicar a array gerada no model. Onde estava:
>>
>>      $this->data=array(
>>                     'chamada' => $do->get('chamada'),
>>                     'titulo'  => $do->get('titulo'),
>>                     'descricao' => $do->get('resenha'),
>>                     'link' => site_url('noticia/id/'.$do->get('noticia_id') 
>> ),
>>                     'foto' => '/uploads/Images/'.$do->get('foto')
>>                   );
>>
>>       
>>     Eu coloquei:
>>
>>             $this->data=array(
>>                           array(
>>                             'chamada' => $do->get('chamada'),
>>                             'titulo'  => $do->get('titulo'),
>>                             'descricao' => $do->get('resenha'),
>>                             'link' => site_url(
>>     'noticia/id/'.$do->get('noticia_id') ),
>>                             'foto' =>
>>     '/uploads/Images/'.$do->get('foto') ),
>>                          
>>                           array(
>>                             'chamada' => $do->get('chamada'),
>>                             'titulo'  => $do->get('titulo'),
>>                             'descricao' => $do->get('resenha'),
>>                             'link' => site_url(
>>     'noticia/id/'.$do->get('noticia_id') ),
>>                             'foto' =>
>>     '/uploads/Images/'.$do->get('foto') )
>>                           );
>>
>>     Adivinha o que aconteceu? O template parser funcionou
>>     normalmente. Abaixo segue o var_dump do segundo código, com
>>     informações duplicadas:
>>
>>     array(1) { ["noticia"]=> array(2) { [0]=> array(5) {
>>     ["chamada"]=> string(13) "De cara nova!" ["titulo"]=> string(43)
>>     "Bionobres comemora 3 anos em grande estilo!" ["descricao"]=>
>>     string(87) "Novo layout do site e novos serviços: Neste
>>     aniversário, quem ganha o presennte é você!" ["link"]=>
>>     string(23) "/index.php/noticia/id/1" ["foto"]=> string(41)
>>     "/uploads/Images/foto_3_anos_bionobres.jpg" } [1]=> array(5) {
>>     ["chamada"]=> string(13) "De cara nova!" ["titulo"]=> string(43)
>>     "Bionobres comemora 3 anos em grande estilo!" ["descricao"]=>
>>     string(87) "Novo layout do site e novos serviços: Neste
>>     aniversário, quem ganha o presennte é você!" ["link"]=>
>>     string(23) "/index.php/noticia/id/1" ["foto"]=> string(41)
>>     "/uploads/Images/foto_3_anos_bionobres.jpg" } } }
>>
>>
>>     Muuuuita sorte pra nós!
>>
>>     Mike
>>
>>     Marco Telles escreveu:
>>>     Provavelmente isso é porque o foreach está recebendo um valor nulo. Já 
>>>     deu um var_dump na variável que está usando no foreach ?
>>>
>>>     Muita sorte para nós!
>>>
>>>     Marco Telles
>>>
>>>
>>>
>>>     Mike Maciel escreveu:
>>>       
>>>>     Olá a todos!
>>>>
>>>>     Estou usando o Template Parser do CI para gerar a pagina inicial de um 
>>>>     site. No código abaixo, enquanto a array "noticia" contiver 2 ou mais 
>>>>     elementos, ele processa corretamente. Porém, se a array noticia 
>>>>     contiver apenas 1 elemento, ele gera erro. Ese é o código do template.
>>>>
>>>>             {noticia}
>>>>             <h5>{chamada}</h5>
>>>>             <h6>{titulo}</h6>
>>>>             <div id="capa-noticia-foto">
>>>>                 <img src="{foto}" alt="{titulo}" border="0" />
>>>>                 <span>{descricao}</span>
>>>>             </div>
>>>>             {/noticia}
>>>>
>>>>
>>>>     Este é o código do model que gera a array.
>>>>
>>>>
>>>>         function selecionar_noticia_capa(){
>>>>             $this->rapyd->load("dataobject"); 
>>>>             $do=new DataObject('noticias');
>>>>             $do->load(1);
>>>>            
>>>>             $this->data=array(
>>>>                     'chamada' => $do->get('chamada'),
>>>>                     'titulo'  => $do->get('titulo'),
>>>>                     'descricao' => $do->get('resenha'),
>>>>                     'link' => site_url( 
>>>>     'noticia/id/'.$do->get('noticia_id') ),
>>>>                     'foto' => '/uploads/Images/'.$do->get('foto')
>>>>                   );
>>>>            
>>>>             return $this->data;
>>>>
>>>>
>>>>     E abaixo o código que chama a função do model e processa o template:
>>>>
>>>>
>>>>         function index()
>>>>         {
>>>>             $this->load->model('home_model','home');
>>>>            
>>>>             $data['noticia']=$this->home->selecionar_noticia_capa();
>>>>             $this->parser->parse('capa',$data);
>>>>         }
>>>>
>>>>
>>>>     Este é o erro que está sendo gerado.
>>>>
>>>>
>>>>             A PHP Error was encountered
>>>>
>>>>     Severity: Warning
>>>>
>>>>     Message: Invalid argument supplied for foreach()
>>>>
>>>>     Filename: libraries/Parser.php
>>>>
>>>>     Line Number: 131
>>>>
>>>>
>>>>     Já tem algum tempo q ando quebrando a cabeça, e até agora não achei 
>>>>     solução. Alguém já passou por isso ou sabe como resolver essa questão?
>>>>
>>>>     Abraços a todos!
>>>>
>>>>     Mike
>>>>     
>>>> ------------------------------------------------------------------------
>>>>
>>>>     _______________________________________________
>>>>     Lista mailing list
>>>>     [email protected] <mailto:[email protected]>
>>>>     http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>>       
>>>>         
>>>     _______________________________________________
>>>     Lista mailing list
>>>     [email protected] <mailto:[email protected]>
>>>     http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>
>>>     __________ Information from ESET Smart Security, version of virus 
>>> signature database 2835 (20080130) __________
>>>
>>>     The message was checked by ESET Smart Security.
>>>
>>>     http://www.eset.com
>>>
>>>
>>>
>>>       
>>
>>
>>
>>     __________ Information from ESET Smart Security, version of virus
>>     signature database 2835 (20080130) __________
>>
>>     The message was checked by ESET Smart Security.
>>
>>     http://www.eset.com
>>     ------------------------------------------------------------------------
>>     _______________________________________________ Lista mailing
>>     list [email protected] <mailto:[email protected]>
>>     http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>     __________ Information from ESET Smart Security, version of virus
>>     signature database 2835 (20080130) __________ The message was
>>     checked by ESET Smart Security. http://www.eset.com
>
>
>     _______________________________________________
>     Lista mailing list
>     [email protected] <mailto:[email protected]>
>     http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
>
>
> -- 
> - - - - - - - - - - - - - - - - - - - - -
> Luiz Alberto S. Ribeiro [ Beto ]
> http://beto.euqueroserummacaco.com
> ------------------------------------------------------------------------
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
>
> __________ Information from ESET Smart Security, version of virus signature 
> database 2835 (20080130) __________
>
> The message was checked by ESET Smart Security.
>
> http://www.eset.com
>   


_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a