cakephp: перейти на предыдущую страницу после редактирования игрока

У меня есть игроки на страницах. Я, например, на стр. 13. Здесь я нажимаю на функцию редактирования, чтобы отредактировать плеер. Теперь после редактирования я хочу вернуться на эту страницу 13, но он останется на странице редактирования.

изменить действие:

public function admin_edit($id = null) { if (!$this->Player->exists($id)) { throw new NotFoundException(__('Invalid player')); } if ($this->request->is(array('post', 'put'))) { $data = $this->request->data['Player']; if(!$data['player_image']['name']){ unset($data['player_image']); } if ($this->Player->save($data)) { $this->Session->setFlash(__('The player has been saved.')); $this->redirect($this->referer()); } else { $this->Session->setFlash(__('The player could not be saved. Please, try again.')); } } else { $options = array('conditions' => array('Player.' . $this->Player->primaryKey => $id)); $this->request->data = $this->Player->find('first', $options); } $videos = $this->Player->Video->find('list'); $this->set(compact('videos')); } 

просмотр действия:

 public function admin_view($id = null) { if (!$this->Player->exists($id)) { throw new NotFoundException(__('Invalid player')); } $options = array('conditions' => array('Player.' . $this->Player->primaryKey => $id)); $this->set('player', $this->Player->find('first', $options)); } 

    Related of "cakephp: перейти на предыдущую страницу после редактирования игрока"

    Вы можете сохранить ссылочную страницу в разделе if/else структуры if/else функции редактирования. Затем используйте это хранимое значение в if (т. $this->request->is(array('post', 'put')) = TRUE .

    Таким образом, ваш код будет выглядеть примерно так:

     public function admin_edit($id = null) { if ($this->request->is(array('post', 'put'))) { /* your other code */ $sendback = $this->Session->read('referer'); $this->Session->delete('referer'); $this->redirect($sendback); } else { /* your other code */ $this->Session->write('referer', $this->referer()); } }