Добавить комментарий к конкретной статье

Я новичок в CakePHP, я только что закончил учебник по блогам / статьям, и теперь я пытаюсь добавить систему комментариев к нему.

В моей таблице комментариев у меня есть,
Id, article_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

Решение

Добавьте форму комментария на этой странице просмотра —

<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 со значением идентификатора статьи.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector