为特定文章添加评论

时间:2015-05-06 12:26:08

标签: php cakephp blogs

我是cakephp的新手,我刚刚完成博客/文章教程,现在我正在尝试添加评论系统。

在我的评论表中,我有, Id,article_Id,姓名,电子邮件,文本和创建。

我试图根据文章ID添加评论。因此,让我们说用户可以查看/ view / 1这样的特定文章,并且可以在页面底部为该文章添加评论。我怎样才能做到这一点?我希望我能说清楚。

这是我评论的添加功能:

    public function add()
  {
    $comment = $this->Comments->newEntity();
    if ($this->request->is('post')) {
    $comment = $this->Comments->patchEntity($comment, $this->request-   
    >data);
        if ($this->Comments->save($comment)) {
            $this->Flash->success('The comment has been saved.');
            return $this->redirect(['action' => 'index']);
        } else {
 $this->Flash->error('The comment could not be saved. Please, try  
  again.');
        }
    }
    $articles = $this->Comments->Articles->find('list', ['limit' => 200]);
    $this->set(compact('comment', 'articles'));
    $this->set('_serialize', ['comment']);
}

我的添加视图:

<div class="comments form large-10 medium-9 columns">
<?= $this->Form->create($comment); ?>
<fieldset>
    <legend><?= __('Add Comment') ?></legend>
    <?php
        echo $this->Form->input('article_id', ['options' => $articles]);
        echo $this->Form->input('name');
        echo $this->Form->input('email');
        echo $this->Form->input('text');
    ?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
 <?= $this->Form->end() ?>

正如您所看到的,我从下拉列表中选择了我的文章,但我不想这样做,我希望这样当用户查看特定文章时,他们可以直接评论并查看。

1 个答案:

答案 0 :(得分:0)

在该视图页面上添加评论表单 -

<div class="comments form large-10 medium-9 columns">
<?= $this->Form->create($comment); ?>
<fieldset>
    <legend><?= __('Add Comment') ?></legend>
    <?php
        echo $this->Form->hidden('article_id', ['value' => $articleId]);
        echo $this->Form->input('name');
        echo $this->Form->input('email');
        echo $this->Form->input('text');
    ?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>

并为article_id设置隐藏字段,其值为文章ID。