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]>:

>  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 [EMAIL 
> PROTECTED]://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>      _______________________________________________
> Lista mailing [EMAIL 
> PROTECTED]://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 [EMAIL 
> PROTECTED]://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
>
>


-- 
- - - - - - - - - - - - - - - - - - - - -
Luiz Alberto S. Ribeiro [ Beto ]
http://beto.euqueroserummacaco.com
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a