本文实例讲述了Yii实现单用户博客系统文章详情页插入评论表单的方法。分享给大家供大家参考,具体如下:
action部分:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?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页面:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
...
/**
* 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页面:
1
2
3
4
5
6
7
8
9
10
11
|
...
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页面:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
...
<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程序设计有所帮助。