9
votes

Comment: Méthode d'appel: Render Partielle () - Statiquement?

Comment puis-je appeler cette méthode dans la framework yii: xxx

statiquement, comme celui-ci: xxx


0 commentaires

4 Réponses :


4
votes

Il semble que cela soit impossible, car le rendu est effectué des représentations "au nom" du contrôleur (ou de la successeur cbasecontroller)

mais, en mode d'application de la console, vous pouvez utiliser ceci: xxx < / Pré>

voir http://www.yiiframework.com/doc/api/ 1.1 / CConsolecommand


3 commentaires

Un commando peut-il comme moi ré-instancer le contrôleur (basocontroller), donc je vais donc être capable d'appeler cela statiquement à travers une autre classe ou quoi (TF)?


Voir la source de la fonction Renderfile: Yiiframework.com/doc/api/1.1/ Conconsolecommand # Renderfile-Deta Il


En fait, le rendu est réduit à ces lignes: extrait ($ _ data_, extr_prefix_same, «données»); et ob_start (); ob_implicit_flush (faux); exiger ($ _ visionnaire_); retour ob_get_clean ();



21
votes

Vous voudrez peut-être regarder RenderInternal que je ' VE utilisé dans les fonctions de classe personnalisée, etc. Il peut être appelé comme: xxx


3 commentaires

Vous ne serez pas en mesure d'appeler renduinternal intimer la commande console à l'aide de CController-> renduinternal Parce que la console n'a aucune idée de ce qui est un contrôleur. Votre meilleur pari sera rendufile


Erreur: Méthode non statique CBASECONTROLLER :: RenderInternal () ne devrait pas être appelé statiquement


Réponse mise à jour pour montrer comment éviter l'erreur. Espérons que cette méthode fonctionnerait toujours pour l'OP, cela fonctionne bien pour moi et peut être utilisé dans l'application Web et / ou la console. Vous pouvez utiliser Renderfile à la place, et pourrait être meilleur si vous utilisez exclusivement cela dans une application de console.



9
votes

Je dois utiliser le rendu partiel dans le modèle, j'ai eu du code comme celui-ci xxx

ici, j'ai utilisé yii :: app () -> contrôleur-> rendupartiale


1 commentaires

Cela ne fonctionnera que lorsqu'un contrôleur est présent. Si vous essayez d'envoyer un e-mail avec cette fonction à partir d'une application de tâche cron ou de console, cela échouera.



1
votes

Vérifiez cet article Yii Wiki écrit par moi ..:)

==== >>> $ e-mailtemplate = $ ceci-> RenderPartial ('Modèle / TemplateContact', Array (), True); // Obtenir le contenu du modèle de messagerie


1 commentaires

Notez que Les réponses Link-seulement sont découragées, les réponses doivent donc être le point final d'une recherche pour une solution (contre une autre halte de références, qui tendent à être obsolète au fil du temps). Veuillez envisager d'ajouter un synopsis autonome ici, en gardant le lien comme référence.