我是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() ?>
正如您所看到的,我从下拉列表中选择了我的文章,但我不想这样做,我希望这样当用户查看特定文章时,他们可以直接评论并查看。
答案 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。