首頁  >  文章  >  後端開發  >  如何使用Yii實作單一使用者部落格系統文章詳情頁插入評論表單的方法

如何使用Yii實作單一使用者部落格系統文章詳情頁插入評論表單的方法

不言
不言原創
2018-06-19 14:51:281193瀏覽

這篇文章主要介紹了Yii實現單用戶博客系統文章詳情頁插入評論表單的方法,結合實例分析了Yii實現文章詳情頁評論表單功能的具體技巧,需要的朋友可以參考下

本文實例講述了Yii實作單一使用者部落格系統文章詳情頁插入評論表單的方法。分享給大家參考,具體如下:

action部分:

<?php
function test($objs)
{
 $objs->var=10;
}
class one
{
 public $var=1;
}
$obj=new one();
echo $obj->var.&#39;<p>&#39;;
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(&#39;view&#39;,array(
    &#39;model&#39;=>$post,
    &#39;comment&#39;=>$comment,
  ));
}
protected function newComment($post)
{
  $comment=new Comment();
  if(isset($_POST[&#39;Comment&#39;]))
  {
   $comment->attributes=$_POST[&#39;Comment&#39;];
   if($post->addComment($comment))//==============================
   {
    if($comment->status==Comment::STATUS_PENDING)
     Yii::app()->user->setFlash(&#39;commentSubmitted&#39;,&#39;Thank you...&#39;);
    $this->refresh();
   }
  }
  return $comment;
}
...

models/Post.php頁面:

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

post/view.php頁面:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

對於PHP中的Yii框架自帶前端資源包的使用分析

關於Yii中處理前後台登入的方法實作

#

以上是如何使用Yii實作單一使用者部落格系統文章詳情頁插入評論表單的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn