У меня есть на моей странице несколько новостей, в каждую новость мы можем добавить комментарий через форму. Так что на самом деле у меня есть 3 новости на моем index.ctp, и под каждой новостью есть форма, чтобы прокомментировать эту новость. Проблема в том, что когда я добавляю комментарий, данные берутся из последней формы на странице. Я не знаю, как их разнообразить. У меня есть красный multirecord forms и Multiple Forms per page (последний подключен к разным действиям), и я не понимаю, как это можно сделать. Вторая проблема, я не могу отправить переменную $ ID через форму контроллера ($ ID имеет истинное значение, я отображается его на index.ctp просто посмотреть)cakephp несколько форм с таким же действием
Это моя форма
<?php $id = $info['Info']['id']; echo $this->Form->create('Com', array('action'=>'add',$id)); ?>
<?php echo $this->Form->input(__('Com.mail',true),array('class'=>'form-control','field'=>'mail')); ?>
<?php echo $this->Form->input(__('Com.body',true),array('class'=>'form-control')); ?>
<?php echo $this->Form->submit(__('Dodaj komentarz',true),array('class'=>'btn btn-info')); ?>
<?php $this->Form->end(); ?>
и есть мой контроллер ComsController.php
class ComsController extends AppController
{
public $helpers = array('Html','Form','Session');
public $components = array('Session');
public function index()
{
$this->set('com', $this->Com->find('all'));
}
public function add($idd = NULL)
{
if($this->request->is('post'))
{
$this->Com->create();
$this->request->data['Com']['ip'] = $this->request->clientIp();
$this->request->data['Com']['info_id'] = $idd;
if($this->Com->save($this->request->data))
{
$this->Session->setFlash(__('Comment added with success',true),array('class'=>'alert alert-info'));
return $this->redirect(array('controller'=>'Infos','action'=>'index'));
}
$this->Session->setFlash(__('Unable to addd comment',true),array('class'=>'alert alert-info'));
return false;
}
return true;
}
}
возможный дубликат [CakePHP. Несколько форм на страницу] (http://stackoverflow.com/questions/19982096/cakephp-multiple-forms-per-page) – arilia