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

本文实例讲述了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程序设计有所帮助。

以上是 Yii实现单用户博客系统文章详情页插入评论表单的方法 的全部内容, 来源链接: utcz.com/z/325644.html

回到顶部