еще раз о ЧПУ

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
kukuruku
Сообщения: 1263
Зарегистрирован: 2011.02.14, 11:36

еще раз о ЧПУ

Сообщение kukuruku » 2012.02.27, 10:32

смотрел цмс вордпресс, там интересно сделаны чпу
можно вызвать урл так http://www.site.ru/super-statia.html интересно как такое делается в yii? я еще понимаю когда урл такой http://www.site.ru/articles/1/super-statia.html тогда можно роут сделать
получается нужно делать логику в обработчике ошибок actionError но ведь все равно будет исключение 404, или нужно писать в обработчике ErrorDocument 404 /404.php?

Аватара пользователя
andy_s
Сообщения: 127
Зарегистрирован: 2012.01.22, 13:15

Re: еще раз о ЧПУ

Сообщение andy_s » 2012.02.27, 11:04

Роут будет такой: 'page/<slug:[\w\d\-]+>'=>'page/view'
Вместо поиска по id страницы нужно искать по атрибуту (в данном случае - slug), который заполняется в админке или автоматически как-то генерируется.

Для более сложных случаев следует расширить класс CBaseUrlRule.

Jampire
Сообщения: 207
Зарегистрирован: 2011.01.28, 11:45
Откуда: Гомель
Контактная информация:

Re: еще раз о ЧПУ

Сообщение Jampire » 2012.02.27, 11:31

andy_s писал(а):Роут будет такой: 'page/<slug:[\w\d\-]+>'=>'page/view'
\w уже включает \d, поэтому достаточно просто \w.
Изображение
Человек, говорящий, что это невозможно сделать, не должен мешать тому, кто это делает.

Аватара пользователя
samdark
Администратор
Сообщения: 9175
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: еще раз о ЧПУ

Сообщение samdark » 2012.02.27, 15:38

W не включает цифры, не путайте.

kukuruku
Сообщения: 1263
Зарегистрирован: 2011.02.14, 11:36

Re: еще раз о ЧПУ

Сообщение kukuruku » 2012.02.27, 22:33

andy_s писал(а):Роут будет такой: 'page/<slug:[\w\d\-]+>'=>'page/view'
Вместо поиска по id страницы нужно искать по атрибуту (в данном случае - slug), который заполняется в админке или автоматически как-то генерируется.

Для более сложных случаев следует расширить класс CBaseUrlRule.
в таком случае урл будет выглядеть так site.ru/page/statua.html
а меня интересует именно выриант site.ru/statua.html

Аватара пользователя
andy_s
Сообщения: 127
Зарегистрирован: 2012.01.22, 13:15

Re: еще раз о ЧПУ

Сообщение andy_s » 2012.02.27, 23:24

"page/" надо убрать в левой части, конечно :)

\w действительно включает цифры, так что \d там лишнее.

Аватара пользователя
samdark
Администратор
Сообщения: 9175
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: еще раз о ЧПУ

Сообщение samdark » 2012.02.28, 16:37

О, блин. Извиняюсь :) Давно перешёл на Юникод, там метасимволы не в почёте.

Аватара пользователя
Stamm
Сообщения: 407
Зарегистрирован: 2010.03.14, 18:59
Откуда: Россия, Москва
Контактная информация:

Re: еще раз о ЧПУ

Сообщение Stamm » 2012.02.28, 18:23

Sam Dark писал(а):О, блин. Извиняюсь :) Давно перешёл на Юникод, там метасимволы не в почёте.
Нужно указать модификатор u и всё определится

Ответить