Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-08-2009 14:56:49

nuranto
Membre
Date d'inscription: 20-01-2009
Messages: 24

[Resolu][XML] Generation (flux ajax)

Bonjour,

J'aimerais intégrer dhtmlx scheduler (que je vous conseille au passage) dans mon site web. Pour cela j'ai besoin de creer un flux XML... Rien de bien compliqué normalement. Mais la, si.
Je ne comprends pas pourquoi.

Voici mon action :

Code:

public function dataAction() {
        $this->_helper->layout()->disableLayout();
                 $this->_helper->viewRenderer->setNoRender(true);
        
        
        header('Content-Type: application/xhtml+xml; charset:utf-8');
        $r = "\n";
        $xml = '<?xml version="1.0" encoding="utf-8" ?>' . $r;
        $xml .= '<data>' . $r;
        $xml .= '<event id="2">' . $r;
        $xml .= '<start_date>2009-05-24 00:00:00</start_date>' . $r;
        $xml .= '<end_date>2009-06-08 00:00:00</end_date>' . $r;
        $xml .= '<text><![CDATA[French Open]]></text>' . $r;
        $xml .= '<details><![CDATA[Philippe-Chatrier Court Paris, FRA]]></details>' . $r;
        $xml .= '</event>' . $r;
        $xml .= '<event id="3">' . $r;
        $xml .= '<start_date>2009-06-10 00:00:00</start_date>' . $r;
        $xml .= '<end_date>2009-06-13 00:00:00</end_date>' . $r;
        $xml .= '<text><![CDATA[Aegon Championship]]></text>' . $r;
        $xml .= '<details><![CDATA[The Queens Club London, ENG]]></details>' . $r;
        $xml .= '</event>' . $r;
        $xml .= '</data>' . $r;
        
        $this->getResponse()->setBody($xml);
    }

J'ai tout essayer....

Code:

$this->getResponse()->clearRawHeaders();
$this->getResponse()->setHeader('Content-type', 'application/xhtml+xml; charset: UTF-8', true);
//J'ai essayé dans l'action, en pre et post disptach

Code:

   public function init()
    {
        $contextSwitch = $this->_helper->getHelper('contextSwitch');
        $contextSwitch->addActionContext('data', 'xml')
                      ->initContext();
    }
//J'ai essayer dans l'init, et dans l'action

Code:

header('Content-Type: application/xhtml+xml; charset:utf-8');

J'ai essayer pour chaque cas :  application/xhtml+xml , application/xml, text/xml .....
Rien a faire, ma reponse est toujours de type text/html. après debug, je vois que Zend_Controller_Reponse_Abstract::setHeader('text/html') est appelé après mon postDispatch....


Quelqu'un a une idée ?

Dernière modification par nuranto (26-08-2009 09:51:18)

Hors ligne

 

#2 25-08-2009 15:02:32

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Resolu][XML] Generation (flux ajax)

Tu as essayé de modifié l'header via le context switch ??
C'est ce que je fais pour générer des images moi et placé des entetes de type images/png


----
Gruiiik !

Hors ligne

 

#3 25-08-2009 15:09:43

nuranto
Membre
Date d'inscription: 20-01-2009
Messages: 24

Re: [Resolu][XML] Generation (flux ajax)

nuranto a écrit:

Code:

   public function init()
    {
        $contextSwitch = $this->_helper->getHelper('contextSwitch');
        $contextSwitch->addActionContext('data', 'xml')
                      ->initContext();
    }
//J'ai essayer dans l'init, et dans l'action

Oui, comme cité ci-dessus... Mais peut-etre je m'y prends mal ?

Hors ligne

 

#4 25-08-2009 15:23:03

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Resolu][XML] Generation (flux ajax)

Hello,

Pour activer le contextswitch, il faut passer le format :
- action normale : http://monsite.fr/module/controller/action
- action xml : http://monsite.fr/module/controller/action/format/xml

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#5 25-08-2009 15:32:27

nuranto
Membre
Date d'inscription: 20-01-2009
Messages: 24

Re: [Resolu][XML] Generation (flux ajax)

Oui, j'ai bien passé le format, mais rien n'y fait....

Hors ligne

 

#6 25-08-2009 16:16:03

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Resolu][XML] Generation (flux ajax)

Voila comme je fais pour une image :

Code:

$contextSwitch->addContext('png', array(
                      'suffix' => 'png',
                      'headers' => array('Content-Type' => 'image/png'),
                    ))
                    ->addActionContext('image', 'png')
                    ->initContext();

Le lien est appelé biensur avec /format/png pour que le context s'active


----
Gruiiik !

Hors ligne

 

#7 25-08-2009 17:43:15

nuranto
Membre
Date d'inscription: 20-01-2009
Messages: 24

Re: [Resolu][XML] Generation (flux ajax)

Code:

<?php

class Module_Folder_ControllerController extends Zend_Controller_Action
{

    public function init() {
        $contextSwitch = $this->_helper->getHelper('contextSwitch');
                $contextSwitch->addActionContext('data', 'xml')
                      ->initContext();

    }
    

    public function dataAction() {
        $r = "\n";
        $xml  = '<?xml version="1.0" encoding="UTF-8"?>' . $r;
        $xml .= '<data></data>';
        echo $xml;
    }
}

Je ne pense pas pouvoir faire plus simple...
mais http://localhost:8888/mysite/module/folder_controller/data/format/xml me renvoit toujours une page de type text/html .......

Quelle perte de temps pour un truc de m... sad :'(

(ZF1.8.4)

Hors ligne

 

#8 25-08-2009 18:47:57

nuranto
Membre
Date d'inscription: 20-01-2009
Messages: 24

Re: [Resolu][XML] Generation (flux ajax)

ZF1.9.2 -> idem smile

Hors ligne

 

#9 26-08-2009 09:50:57

nuranto
Membre
Date d'inscription: 20-01-2009
Messages: 24

Re: [Resolu][XML] Generation (flux ajax)

Comme je m'en doutais, une erreur a la c** smile

J'avais un setHeader dans mon bootstrap, qui ne servait a rien...

Sorry for wasting your time.. ;'(

Le contextswitch marche très bien...

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages