Matthew,

Instead of doing the following:

*$this->_helper->viewRenderer-*
>
> *>setNoRender(true);
>    $this->_helper->layout-**>disableLayout(true);
>    $response = $this->getResponse();
>    $response->setHeader('Content**-Type', 'application/json')
>             ->setBody($f->toJson());*


Would you be able to achieve the same effect by using the ajaxContext switch
since it by default disables layout and viewRender?


On Wed, Jul 2, 2008 at 11:51 AM, Matthew Weier O'Phinney <[EMAIL PROTECTED]>
wrote:

> -- Fabrice Terrasson <[EMAIL PROTECTED]> wrote
> (on Wednesday, 02 July 2008, 06:33 PM +0200):
> > Matthew Weier O'Phinney a écrit :
> > > Greets, all --
> > >
> > > I've committed the complete Zend_Dojo_Data implementation to the
> > >
> > Thank you !!!
> >
> > What's the handy way to get a proper json ?
> >
> > I tried a bit, in my controller:
> >
> >     public function autocompleteAction() {
> >         $p= new Catalogue();
> >         $rows= $p->fetchAll();
> >
> >         $f= new Zend_Dojo_Data();
> >         $f->setIdentifier('id');
> >         $f->addItems( $rows );
> >
> >         $this->_helper->autoCompleteDojo( $f );
> >         //echo $f;
> >     }
>
> Well, you've got one big problem here: autoCompleteDojo() isn't yet
> wrapping Zend_Dojo_Data, so you'll get an inaccurate and invalid
> structure as you show below.
>
> For now, until I refactor autoCompleteDojo(), do this in your action
> instead:
>
>
>    $this->_helper->viewRenderer->setNoRender(true);
>    $this->_helper->layout->disableLayout(true);
>    $response = $this->getResponse();
>    $response->setHeader('Content-Type', 'application/json')
>             ->setBody($f->toJson());
>
> I'll be refactoring autoCompleteDojo() in the coming week to allow
> passing Zend_Dojo_Data objects, as well as to consume Zend_Dojo_Data to
> create the payload when other types are passed to it.
>
> > I m getting a well formated json file but complicated :
> > {"identifier":"name",
> > "items":  [{
> >     "label": {"id":"1","produit":"pomme"},
> >     "name": {"id":"1","produit":"pomme"}
> > },{
> >     "label": {"id":"2","produit":"orange"},
> >     "name": {"id":"2","produit":"orange"}
> > }]}
> >
> > I'd prefer and "dojo.data.ItemFileReadStore" too, a simpler json like :
> > {"identifier": "name",
> > "items": [{
> >     "label":"pomme",
> >     "name":"pomme"
> > },{
> >     "label":"orange",
> >     "name":"orange"}
> > }]}
> >
> > fyi, this is the schema SQL :
> > CREATE TABLE `catalogue` (
> >   `id` int(11) NOT NULL auto_increment,
> >   `produit` varchar(100) NOT NULL,
> >   PRIMARY KEY  (`id`) );
> >
> > FT.
> >
>
> --
> Matthew Weier O'Phinney
> Software Architect       | [EMAIL PROTECTED]
> Zend Framework           | http://framework.zend.com/
>
>


-- 
Cory Wiles
[EMAIL PROTECTED]
http://www.corywiles.com
http://www.400mtogo.com

Reply via email to