E ai pessoal,Desculpem minha ausencia, tenho me ocupado muito com alguns projetos que tenho feito por fora.Tenho mexido bastante com o Zend Framework e so tenho uma coisa a dizer: Estou tendo bem menos dor de cabeca do que quando programava com PHP puro. Isso sem falar da organizacao do projeto em MVC, os beneficios do Zend_Layout, etc.Em um dos projetos, tive que construir um carrinho de compras utilizando Session.Eu li um livro sobre Zend Framework, que ensina a criar um carrinho de compras com o Zend_Registry.O problema do Zend_Registry e que ele nao utiliza sessoes, mas sim variaveis globais.Eu nao me basiei nesse livro, entao caso saiba de qual livro estou me referindo, esqueca o carrinho que voce aprendeu la caso queira fazer um carrinho baseado em Session.Para a criacao de Sessions no Zend, nos utilizamos a classe Zend_Session_Namespace();Como essa e uma classe singleton, caso ja tenha sido criada uma instancia da mesma, apenas e retornado a instancia ja criada. Voce pode tentar cria-la varias vezes, mas ela apenas retornara a instancia que ja foi criada, ate que ela seja liberada da memoria.Ou seja, o Zend simplesmente ignora a criacao do novo objeto vazio e continua a session com os mesmos valores ja gravados.Eu ajustei uma classe que peguei em um forum sobre ZF. Ela "manuseia" uma session e achei que valeria a pena inclui-la no meu projeto.Como tive muito problemas ao postar o codigo nesse blog, eu printei as telas.Pois o blog nao estava permitindo que eu colocasse os conteudosSegue abaixo a classe. Voce pode ajusta-la conforme suas necessidades. Para nosso carrinho, creio que seja o suficiente da forma como a deixei.CLASSE "CONTROLADORA" DAS NOSSAS SESSIONSEu ja dei o name do meu namespace de carrinho, mas voce pode colocar no construtor da classe um parametro que seria o nome do seu namespace. Caso voce nao de um nome para o namespace, ele adota o valor Default.Ficaria assim: Zend_Session_Namespace('Default');ACTION DE INCLUSAO DE ITEM NO CARRINHOLISTANDO OS ITENS NO CARRINHOPara listar os itens no carrinho e simples, basta fazer um foreach da variavel carrinho, que atribuimos o valor no nosso controller: "$this->view->carrinho = $carrinho;"$carrinho = $this->carrinho;$chave = @array_keys($carrinho);for($ i = 0; $i < count ($chave);$ i ++){$indice = $chave[$i]; //CRIANDO O OBJETO DA NOSSA CLASSE DE PERSISTENCIA COM A BASE DE DADOS, DA TABELA PRODUTOS.$produtos = new Produtos();$where = "idproduto = ".$carrinho[$indice]['idproduto'];//PUXANDO OS DADOS DO PRODUTO$produto = $produtos->fetchRow($where);}Eu estou criando um objeto da nossa classe de persistencia (model), para poder visualizar o nome do produto, qtde em estoque, entre outras coisas.Voce pode usar seu proprio modelo.Caso queira apenas mostrar o codigo do produto e quantidade escolhida pelo usuario, voce poderia implementar o codigo abaixo:$carrinho = $this->carrinho;$chave = @array_keys($carrinho);for($ i = 0;$ i< sizeof ($chave); $ i ++){//GUARDANDO O INDICE DO ARRAY$indice = $chave[$i];//MOSTRANDO OS DADOS INCLUIDOS NO CARRINHOecho $carrinho[$indice]['idproduto']." - ".$carrinho[$indice]['qtde'];}ATUALIZANDO E EXCLUINDO ITENS DO CARRINHOPara atualizar ou excluir itens de um carrinho, eu coloquei um checkbox em nosso carrinho de compras, contendo o indice do mesmo ($indice), entao eu aplico um submit do formulario contendo os itens incluidos.O formulario nos enviara