Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 05 июл 2025, 16:46

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Помогите с роут
СообщениеДобавлено: 09 май 2012, 16:51 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
Route::set('public', 'public/shownode/$node_id/$teacher_id(/page<id>)(.html)')
->defaults(array(
'controller' => 'public',
'action' => 'shownode',
));


такой роут работать будет?

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с роут
СообщениеДобавлено: 09 май 2012, 20:58 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Нет.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с роут
СообщениеДобавлено: 09 май 2012, 21:51 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
а как тогда прсото за построение ссылки отвечает вот такой контроллер
Код:
   public function action_shownode()
   {
      $node_id    = $this->request->param('id', NULL);
      $teacher_id = $this->request->param('id2', NULL);
      
      $data = array();
      
      $material = ORM::factory('material');
      $cat = new Model_Category;
      
      $data['path'] = $cat->getPath($node_id);
      $data['materials'] = $material->getMaterialsByTeacher('', $teacher_id, $node_id);
      $data['teachername'] = ORM::factory('user', $teacher_id)->name;

      $this->tpl->content = View::factory('materials/shownode', $data);
   }


ссылка получается вида
материал/шоуноде/число/число.штмл

я так понял числа это вот это

$node_id = $this->request->param('id', NULL);
$teacher_id = $this->request->param('id2', NULL);

как тогда сделать правильной роут?

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с роут
СообщениеДобавлено: 10 май 2012, 02:59 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Вместо переменных поставить регулярные выражения.
http://kohanaframework.su/advanced/route_p2

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с роут
СообщениеДобавлено: 11 май 2012, 21:28 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
Route::set('public', 'public/shownode(/<id>)(/<id2>)(/page<id>)(.html)')
->defaults(array(
'controller' => 'public',
'action' => 'shownode',
));

вот так?

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с роут
СообщениеДобавлено: 13 май 2012, 15:58 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Нет. Третьим параметром передать массив, где с помощью регулярных выражений нужно указать то, что вам надо. Например, если надо, чтобы id было числом, пишем третьим параметром
Код:
, array('id' => '[0-9]+')

Ссылку на урок я дал. Там про это написано с примерами.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с роут
СообщениеДобавлено: 13 май 2012, 16:41 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
Route::set('public', 'public/shownode(/<id>)(/<id2>), array('id' => '[0-9]+')(/page<id>)(.html)')
->defaults(array(
'controller' => 'public',
'action' => 'shownode',
));

хм..выходит вот так..
но пока ошибка..

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с роут
СообщениеДобавлено: 13 май 2012, 17:01 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
Route::set('public', 'public/shownode(/<id>), array('id' => '[0-9]+') (/<id2>), array('id2' => '[0-9]+')(/page<id>)(.html)')
->defaults(array(
'controller' => 'public',
'action' => 'shownode',
));

(( все равно синтаксическая ошибка..

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с роут
СообщениеДобавлено: 17 май 2012, 23:32 
Не в сети
Бывалый

Зарегистрирован: 01 май 2012, 23:50
Сообщения: 72
ап темы..проблема не решена(

_________________
iReznik.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с роут
СообщениеДобавлено: 18 май 2012, 00:24 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
материал/шоуноде/число/число.штмл

Что-то вроде
Код:
Route::set('public', 'public/shownode/<id>/<id1>.html', array('id' => '[0-9]+'), array('id1' => '[0-9]+'))
 ->defaults(array(
 'controller' => 'public',
 'action' => 'shownode',
 ));


Если я правильно понял задачу.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group