Php “yii”中有一个问题;“帖子列表中的评论表单视图”;

Php “yii”中有一个问题;“帖子列表中的评论表单视图”;,php,yii,Php,Yii,我试图将评论表单放在post视图列表中,用户可以在其中放置评论。 我为上述问题编写的代码 <h5>Add your Comment</h5> <?php if(Yii::app()->user->hasFlash('commentSubmitted')): ?> <div class="flash-success"> <?php echo Yii::app()->user-&

我试图将评论表单放在post视图列表中,用户可以在其中放置评论。 我为上述问题编写的代码

<h5>Add your Comment</h5>

    <?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; ?>
添加您的评论
“表单包含…”


带*的字段是必需的


它给出了错误“Undefined variable:comment”

而不知道错误发生的确切位置,在我看来,最符合逻辑的位置在这个代码段中:

<?php $this->renderPartial('/comment/_form',array(
    'model'=>$comment
)); ?>


然后,解决方案可能是将
$comment
替换为
'comment'
(或者类似的东西,我对Yii不太熟悉)。

您需要定义
$comment
。您正在尝试将模型传递给窗体。这通常是数据库表的模型。看起来您正在使用活动窗体。这意味着您正在Yii中使用活动记录模型。您应该有一个覆盖注释表的模型。如果您需要知道如何创建模型,您可以了解如何使用Gii

如果您已经有一个注释模型,那么您只需要定义该模型。比如:

$comment = new Comment();
$this->renderPartial('/comment/_form',array('model'=>$comment));

看起来这是一个有时会调用另一个视图的视图。您可以在调用原始视图的控制器中定义
$comment
变量。您只需将comment变量传递到原始视图以及第二个视图中。

错误消息还包含发生错误的文件和发生错误的行。这些信息对于解决问题非常有用(您甚至可以通过查看引用的文件/行来找到问题的原因)。
$comment = new Comment();
$this->renderPartial('/comment/_form',array('model'=>$comment));