2011-09-10 5 views
1

J'ai un captcha mathématique fait maison et il devrait être sorti sans rien avant son en-tête d'image, donc je ne peux pas en faire un 'View'. Je mets ce captcha.php dans le répertoire racine web, mais il ne peut pas partager la session avec les scripts dans Yii. Comment résoudre ceci?Comment passer une session Yii à des scripts hors du framework Yii?

Existe-t-il un moyen de passer la session de Yii aux autres scripts ou de nettoyer quoi que ce soit avant que l'en-tête ne soit affiché?

+0

Pouvez-vous expliquer mieux pourquoi vous ne pouvez pas en faire une vue? Il ne devrait pas y avoir de raison que quelque chose comme cela doive être fait en dehors du cadre. – Ben

+0

Yii ajoute automatiquement quelque chose dans l'en-tête comme meta et script, et une image ne peut pas être sortie s'il y a quelque chose avant son en-tête qui spécifie que cette page doit être affichée comme image – LotusH

+2

avez-vous essayé avec $ this-> renderPartial – Ben

Répondre

2

Bien qu'il soit vrai que la mise en page par défaut entoure le contenu de la page avec le balisage html typique que vous attendez, vous avez le contrôle complet en spécifiant la mise en page que vous souhaitez du contrôleur en utilisant $this->layout = ... Vous pouvez le définir à null pour utiliser la disposition du module ou false pour désactiver complètement la mise en page. Voir plus de détails au Yii API Docs.

Vous pouvez également appeler $ this-> renderPartial ('nom de la vue') si vous souhaitez que la sortie de votre script captcha soit affichée sans le contenu de la page.

Questions connexes