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

前端技术 2023/09/04 PHP

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

action部分:

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

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(\'view\',array(
    \'model\'=>$post,
    \'comment\'=>$comment,
  ));
}
protected function newComment($post)
{
  $comment=new Comment();
  if(isset($_POST[\'Comment\']))
  {
   $comment->attributes=$_POST[\'Comment\'];
   if($post->addComment($comment))//==============================
   {
    if($comment->status==Comment::STATUS_PENDING)
     Yii::app()->user->setFlash(\'commentSubmitted\',\'Thank you...\');
    $this->refresh();
   }
  }
  return $comment;
}
...

models/Post.php页面:

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

post/view.php页面:

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

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

本文地址:https://www.stayed.cn/item/10490

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。