neocasta
(Pk)
1
Привет Всем
Имею древовидную структуру с названиями разделов
Хочу их поместить в урл
http://site.local/раздел1/раздел11/подраздел111/
Зделать просто
'rules'=>array(
'<structure:.*>'=>'structure/list'),
Тогда рулы по умолчанию будут загашены например:
http://siteconst.local/controller/action
Вот если бы рулы по умолчанию можно было бы префиксовать:
http://siteconst.local/_def/controller/action
Конечно это можно организовать через модуль, возможно как крайний вариант я это буду использовать, но хотелось бы лишний раз не нестить(nested) модули
Есть соображения по модификации базовых рулов
Или может быть есть выход в другом синтаксисе существующих правил?
Karasko
(Yura Karas)
2
Не пробовал, но вот догадка.
Что контроллеры которые у тебя есть, ты можешь их в начале ‘rules’ прописать.
Он вроде сверху вниз обрабатывает правила, и если это ни тот ни другой контроллер, то перейдешь к контроллеру structure.
'rules'=>array(
//various controllers rules here
'<structure:.*>'=>'structure/list'),
rosko
(A)
3
Да, а еще можно попробовать так:
'rules'=>array(
'_def/<_c>/<_a>' => '<_c>/<_a>',
'<structure:.*>'=>'structure/list'
),
Но, все таки, у Karasko вариант по-красивее будет.
neocasta
(Pk)
4
Да такие варианты работают
Пробовал СПАСИБО за ответ
Но вот беда хочу чтоб все правила по умолчанию префиксовались в том числе и вложенные модульные контроллеры)
neocasta
(Pk)
5
Хотя попробовал ещё такую конструкцию
'_def/<_m>/<_c>/<_a>' => '<_m>/<_c>/<_a>',
Теперь и модули работают
Пока удовлетворён
Спасибо ещё раз за ответы
neocasta
(Pk)
6
Хотя проверил такой линк
<?=YII::app()->createUrl('structure/content',array('structure'=>"раздел1/раздел11/подраздел111/"))?>
По плану должно быть
http://site.local/раздел1/раздел11/подраздел111/
А получается
http://site.local/_def/structure/content?structure=local/раздел1/раздел11/подраздел111/
neocasta
(Pk)
7
Сам пишу и сам отвечаю))
Переставил порядок правил
'rules'=>array(
'<structure:.*>'=>"structure/content",
'_def/<_c>/<_a>' => '<_c>/<_a>',
'_def/<_m>/<_c>/<_a>' => '<_m>/<_c>/<_a>',
),
Вроди работает
neocasta
(Pk)
8
Рано радуюсь
Работать работает при формировании урлов, но при нажатии на урлы ошибка
The requested page does not exist.