2015-06-20 2 views
-1

Я следовал статьи учебника из CakePHP 3 сайта и создал веб-сайтПеренаправление на домашнюю страницу CakePHP 3

http://i.imgur.com/JMh1Pwv.png

Теперь есть добавить статью, удалить статью и редактировать статьи действия.

Когда я удалить статью он перенаправляет меня

http://localhost:8888/test/articles/delete/14

Вот код удаления.

public function delete($id) { 
     $this->request->allowMethod(['post', 'delete']); 

     $article = $this->Articles->get($id); 
     if ($this->Articles->delete($article)) { 
      $this->Flash->success(__('The article with id: {0} has been deleted.', h($id)));  
      return $this->redirect(['action' => 'index']); 
     } 
    } 

То же самое происходит для добавления и редактирования.

Теперь он остается на этой пустой странице (http://i.imgur.com/TdcbxZZ.png). Но return $this->redirect(['action' => 'index']); линии предполагают, чтобы перенаправить его на главную страницу по индексу т.е.

В routes.php я определил маршрут, как

Router::connect('/', array('controller' => 'Articles', 'action' => 'index')); 

Мой вопрос, как я могу сориентировать ее на домашнюю страницу. Я следовал за учебником точно так же, как на веб-сайте.

+0

есть хороший шанс, что удаление не произойдет. Попробуйте добавить 'else' для вашего' if' и debug, почему вы туда попали. В любом случае, если вы включите отладку, вы увидите, что произойдет. С другой стороны, '$ this-> redirect ('/')' перенаправляет вас домой. – rrd

+0

@rrd Элемент удаляется. Я попробовал '$ this-> redirect ('/')', но тот же результат. – Sunny

+0

@summea уверен. Вот это http://pastebin.com/1gT6Fj9p – Sunny

ответ

4

Похоже, что строка «заголовка лицензии» должна быть комментарием, но не находится в пределах <?php ?> тегов и, следовательно, принимается за вывод. Если это так, то факт, что какой-то результат уже сгенерирован, остановит перенаправление.

1

Вам просто нужно указать имя контроллера в атрибуте контроллера и имени действия в атрибуте действия.

$this->redirect(['Controller' => 'Homepage Controller name' , 'action' => 'homepafe action name']); 

Последовательность перенаправления будет перенаправлена ​​в указанное вами место.

Смежные вопросы