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


Posted in PHP onDecember 28, 2015

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

PHP 相关文章推荐
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 PHP
别人整理的服务器变量:$_SERVER
Oct 20 PHP
php UBB 解析实现代码
Nov 27 PHP
PHP实现今天是星期几的几种写法
Sep 26 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
php快速查找数据库中恶意代码的方法
Apr 01 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
Jul 04 PHP
php面试实现反射注入的详细方法
Sep 30 PHP
设定php简写功能的方法
Nov 28 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
YII使用url组件美化管理的方法
Dec 28 #PHP
yii去掉必填项中星号的方法
Dec 28 #PHP
Yii中实现处理前后台登录的新方法
Dec 28 #PHP
Yii中CGridView实现批量删除的方法
Dec 28 #PHP
Yii基于数组和对象的Model查询技巧实例详解
Dec 28 #PHP
yii权限控制的方法(三种方法)
Dec 28 #PHP
Yii使用Captcha验证码的方法
Dec 28 #PHP
You might like
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
ThinkPHP安装和设置
2015/07/27 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
js页面跳转常用的几种方式
2010/11/25 Javascript
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
解析javascript 实用函数的使用详解
2013/05/10 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
JavaScript实现HTML5游戏断线自动重连的方法
2017/09/18 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
layui 给数据表格加序号的方法
2018/08/20 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
javascript+Canvas实现画板功能
2020/06/23 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:44]Ti10举办地公布
2019/08/25 DOTA
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
Python实现的Excel文件读写类
2015/07/30 Python
django 创建过滤器的实例详解
2017/08/14 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
详细分析Python垃圾回收机制
2020/07/01 Python
澳大利亚小众服装品牌:Maurie & Eve
2018/03/27 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
社区道德讲堂实施方案
2014/03/21 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
2019入党申请书格式
2019/06/25 职场文书
Python中OpenCV实现查找轮廓的实例
2021/06/08 Python
浅谈Python数学建模之数据导入
2021/06/23 Python