Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

проблемма в bootstarp Роутеры
http://forum.kohanaframework.su/viewtopic.php?f=31&t=276
Страница 1 из 1

Автор:  ducoz [ 02 авг 2012, 23:07 ]
Заголовок сообщения:  проблемма в bootstarp Роутеры

Привет.
Вообщем проблема такая
Когда я перехожу по ссылке news/1 то почему то выдается информация компаний.
Код:
Route::set('sa', '<company>/<p>', array('p' => '[0-9]+'))
   ->defaults(array(
      'controller' => 'people',
      'action'     => 'name',      
   ));
Route::set('news', '<news>/<id>', array('id' => '[0-9]+'))
   ->defaults(array(
      'controller' => 'main',
      'action'     => 'news',      
   ));

Помогите с роутерами :ugeek:

Автор:  mamahtehok [ 02 авг 2012, 23:49 ]
Заголовок сообщения:  Re: проблемма в bootstarp Роутеры

Код:
Route::set('news', 'news/<id>', array('id' => '[0-9]+'))
   ->defaults(array(
      'controller' => 'main',
      'action'     => 'news',     
   ));
Route::set('sa', '<company>/<p>', array('p' => '[0-9]+'))
   ->defaults(array(
      'controller' => 'people',
      'action'     => 'name',     
   ));

как-то так...

Автор:  qed [ 02 авг 2012, 23:50 ]
Заголовок сообщения:  Re: проблемма в bootstarp Роутеры

Если у вас только урлы вида: news/1, company/1, то достаточно будет просто убрать угловые скобки в правиле, т. е. так:
Код:
Route::set('sa', 'company/<p>', array('p' => '[0-9]+'))
->defaults(array(
'controller' => 'people',
'action' => 'name',   
));

Route::set('news', 'news/<id>', array('id' => '[0-9]+'))
->defaults(array(
'controller' => 'main',
'action' => 'news',   
));


Вот тут вот про роуты хорошо расписано (на 3 страницах): http://kohanaframework.su/advanced/route_p1

Автор:  qed [ 02 авг 2012, 23:52 ]
Заголовок сообщения:  Re: проблемма в bootstarp Роутеры

Уупс, не заметил сообщения предыдущего, пока писал ответили :)

Автор:  ducoz [ 02 авг 2012, 23:54 ]
Заголовок сообщения:  Re: проблемма в bootstarp Роутеры

спасибо

Автор:  Sergey [ 03 авг 2012, 04:37 ]
Заголовок сообщения:  Re: проблемма в bootstarp Роутеры

Маршрутизация:
Код:
Route::set('news', '<pages>/<id>', array('pages' => 'company|news', 'id' => '\d+'))
  ->defaults(array(
    'controller' => 'page',
    'action' => 'get_by_name'
));


Контролер:
Код:
class Controller_Page extends Controller_Common {

  public function action_get_by_name()
  {
    $page_type = $this->request->param('pages');
    $page_id = $this->request->param('id');
   
    $content = View::factory('/pages/' . $page_type)
             ->bind('page_type', $page_type)
             ->bind('page_id', $page_id);

    $this->template->content = $content;
  }

} // End Page

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/