andryam
(Andryam)
1
Пишется модуль Новости, имеется к нему такое правило
'urlManager'=>array(
'showScriptName' => false,
'urlFormat'=>'path',
'rules'=>array(
'news/<id:\d+>'=>'/news/news/view',
),
),
в контроллере для примера вывожу
echo Yii::app()->urlManager->createUrl('news/',array('id'=>162));
выводит
/mysite/news/id/162
как получить ссылку за место /mysite/news/id/162 такую /mysite/news/162
тоесть избавиться от id/
?
someone
(198506)
2
Сдеайте вот так:
'rules'=>array(
'news/<id:\d+>'=>'news/view',
),
и
echo Yii::app()->urlManager->createUrl('news/view',array('id'=>162));
andryam
(Andryam)
3
но у меня новость ввиде отдельного модуля
контроллер находится в диреткории
\protected\modules\news\controllers\NewsController.php
если указываю правило так так
'news/<id:\d+>'=>'news/view',
то ссылки генерируются правильно, таким бразом
/mysite/news/1
но вот если перейтина эту страницу то получаю такую ошибку
но если правило указать так
'news/<id:\d+>'=>'/news/news/view',
то ссылки формируются так
/mysite/news/view/id/1
перейдя по этой ссылке получим туже ошибку а если при этомже правиле перейти на
/mysite/news/view/id/1
то всё нормально
napeHeK
(Napehek)
4
'rules'=>array(
'news/<id:\d+>'=>'news/news/view',
),
andryam
(Andryam)
5
изначально правило также указывал
оказывается нужно было для createUrl в первом параметре указывать как /news/news/view а не как /news/
вообщем сделал так и получилось как и должно быть
контроллер(или в представлении)
echo Yii::app()->urlManager->createUrl('/news/news/view',array('id'=>100));
правило
'news/<id:\d+>'=>'news/news/view',
теперь ссылки формируются правильно
http://localhost/mysite/news/100
сем спасибо за помощь