Maison  >  Article  >  développement back-end  >  Comment utiliser Yii pour insérer un formulaire de commentaire dans la page de détails de l'article d'un système de blog mono-utilisateur

Comment utiliser Yii pour insérer un formulaire de commentaire dans la page de détails de l'article d'un système de blog mono-utilisateur

不言
不言original
2018-06-19 14:51:281153parcourir

Cet article présente principalement la méthode de Yii pour insérer un formulaire de commentaire dans la page de détails de l'article d'un système de blog mono-utilisateur. Il analyse les techniques spécifiques de Yii pour implémenter la fonction de formulaire de commentaire sur la page de détails de l'article avec des exemples. besoin peut s'y référer

L'exemple de cet article décrit la méthode de Yii pour insérer un formulaire de commentaire dans la page de détails de l'article d'un système de blog mono-utilisateur. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

partie action :

<?php
function test($objs)
{
 $objs->var=10;
}
class one
{
 public $var=1;
}
$obj=new one();
echo $obj->var.&#39;<p>&#39;;
test($obj);
echo $obj->var;
exit;

Page PostController.php :

...
/**
* Displays a particular model.
* @param integer $id the ID of the model to be displayed
*/
public function actionView($id)
{
  $post=$this->loadModel($id);
  $comment=$this->newComment($post);
  $this->render(&#39;view&#39;,array(
    &#39;model&#39;=>$post,
    &#39;comment&#39;=>$comment,
  ));
}
protected function newComment($post)
{
  $comment=new Comment();
  if(isset($_POST[&#39;Comment&#39;]))
  {
   $comment->attributes=$_POST[&#39;Comment&#39;];
   if($post->addComment($comment))//==============================
   {
    if($comment->status==Comment::STATUS_PENDING)
     Yii::app()->user->setFlash(&#39;commentSubmitted&#39;,&#39;Thank you...&#39;);
    $this->refresh();
   }
  }
  return $comment;
}
...

page modèles/Post.php :

...
public function addComment($comment)
{
  if(Yii::app()->params[&#39;commentNeedApproval&#39;])
   $comment->status=Comment::STATUS_PENDING;
  else
   $comment->status=Comment::STATUS_APPROVED;
  $comment->post_id=$this->id;
  return $comment->save();
}
...

post/ page view.php :

...
<p id="comments">
<h3>Leave a Comment</h3>
<?php if(Yii::app()->user->hasFlash(&#39;commentSubmitted&#39;)): ?>
 <p class="flash-success">
 <?php echo Yii::app()->user->getFlash(&#39;commentSubmitted&#39;); ?>
 </p>
<?php else: ?>
 <?php $this->renderPartial(&#39;/comment/_form&#39;,array(
 &#39;model&#39;=>$comment,
 )); ?>
<?php endif; ?>
</p><!-- comments -->
...

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à tout le monde. Étude. Veuillez prêter attention au contenu plus pertinent du site Web chinois PHP !

Recommandations associées :

Analyse de l'utilisation du package de ressources front-end fourni avec le framework Yii en PHP

À propos de Yii Implémentation de méthodes de gestion des connexions front et backend

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn