当前位置:首页 > CMS教程 > 其它CMS > 列表

Yii实现单用户博客系统文章详情页插入评论表单的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-02 11:41:55 浏览: 评论:0 

这篇文章主要介绍了Yii实现单用户博客系统文章详情页插入评论表单的方法,结合实例分析了Yii实现文章详情页评论表单功能的具体技巧,需要的朋友可以参考下。

本文实例讲述了Yii实现单用户博客系统文章详情页插入评论表单的方法,分享给大家供大家参考,具体如下:

action部分:

  1. <?php 
  2. function test($objs) 
  3. { 
  4.  $objs->var=10; 
  5. } 
  6. class one 
  7. { 
  8.  public $var=1; 
  9. } 
  10. $obj=new one(); 
  11. echo $obj->var.'<p>'; 
  12. test($obj); 
  13. echo $obj->var; 
  14. exit; 

PostController.php页面:

  1. ... 
  2. /** 
  3. * Displays a particular model. 
  4. * @param integer $id the ID of the model to be displayed 
  5. */ 
  6. public function actionView($id) 
  7. { 
  8.   $post=$this->loadModel($id); 
  9.   $comment=$this->newComment($post); 
  10.   $this->render('view',array( 
  11.     'model'=>$post, 
  12.     'comment'=>$comment, 
  13.   )); 
  14. } 
  15. protected function newComment($post) 
  16. { 
  17.   $comment=new Comment(); 
  18.   if(isset($_POST['Comment'])) 
  19.   { 
  20.    $comment->attributes=$_POST['Comment']; 
  21.    if($post->addComment($comment))//============================== 
  22.    { 
  23.     if($comment->status==Comment::STATUS_PENDING) 
  24.      Yii::app()->user->setFlash('commentSubmitted','Thank you...'); 
  25.     $this->refresh(); 
  26.    } 
  27.   } 
  28.   return $comment; 
  29. } 
  30. ... 

models/Post.php页面:

  1. ... 
  2. public function addComment($comment) 
  3. { 
  4.   if(Yii::app()->params['commentNeedApproval']) 
  5.    $comment->status=Comment::STATUS_PENDING; 
  6.   else 
  7.    $comment->status=Comment::STATUS_APPROVED; 
  8.   $comment->post_id=$this->id; 
  9.   return $comment->save(); 
  10. } 
  11. ... 

post/view.php页面:

  1. ... 
  2. <div id="comments"> 
  3. <h3>Leave a Comment</h3> 
  4. <?php if(Yii::app()->user->hasFlash('commentSubmitted')): ?> 
  5.  <div class="flash-success"> 
  6.  <?php echo Yii::app()->user->getFlash('commentSubmitted'); ?> 
  7.  </div> 
  8. <?php else: ?> 
  9.  <?php $this->renderPartial('/comment/_form',array( 
  10.  'model'=>$comment, 
  11.  )); ?> 
  12. <?php endif; ?> 
  13. </div><!-- comments --> 
  14. ... 

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

Tags: Yii单用户博客系统 Yii评论

分享到: