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

本文详细介绍了如何在Yii PHP框架中创建一个单用户博客系统,并实现文章详情页插入评论表单的功能。通过`actionView`方法加载文章和评论模型,`newComment`方法处理评论提交,如果评论需要审核,则设置状态为待审。在视图文件中,展示评论表单并处理用户提交的评论,当评论成功提交后,会显示提示信息并刷新页面。此实例对于理解Yii框架中的评论系统实现具有指导意义。
摘要由CSDN通过智能技术生成

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

action部分:

function test($objs)

{

$objs->var=10;

}

class one

{

public $var=1;

}

$obj=new one();

echo $obj->var.'

';

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页面:

...

Leave a Comment

<?php if(Yii::app()->user->hasFlash('commentSubmitted')): ?>

<?php echo Yii::app()->user->getFlash('commentSubmitted'); ?>

<?php $this->renderPartial('/comment/_form',array(

'model'=>$comment,

)); ?>

...

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值