powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Yii) Прошу помощи с createUrl
13 сообщений из 13, страница 1 из 1
(Yii) Прошу помощи с createUrl
    #38124686
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
В yii ещё не силён, но вот работать приходится именно с ним, так как дорабатываю систему, которая писалась на нём. И вот столкнулся с проблемой, так как ранее все ссылки были забиты напрямую в код, сейчас же система разделяется на модули и при всём желании такие "статические" ссылки оставлять нельзя. Стараюсь всё переделать на createUrl, но не могу получить желаемый результат.
Итак:
в конфиге
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
			'urlManager'=>array(
				'urlFormat'=>'path',
				'showScriptName'=> false,
				'rules'=>array(
					...
					'article/<name:[A-Za-z0-9_-]+>'=>'articles/default/view',
					'articles/<action:[^\/]+>'=>'articles/default/<action>',
					'articles/page/<page:[0-9]+>'=>'articles/',
					'articles/tag/(<tag:[^\/]+>(/page/<page:[0-9]+>)?)?'=>'articles/default/tag',
					...
				),
			),


В контроллере модуля пишу:
Код: php
1.
$this->createUrl('/articles/default/tag', array('tag'=>$tag['link']))


На выход получаю ссылку /articles/tag?tag=teg-1 хотя сами понимаете, хотелось бы получить ссылку как описано в менеджере юрл: /articles/tag/teg-1

Не могу понять что у меня там не так. Подскажите пожалуйста. Просто нигде в документации не могу найти описание своего случая.
Заранее благодарен
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38124714
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я не совсем понял что вы хотите добиться этим
Код: php
1.
'articles/tag/(<tag:[^\/]+> (/page/<page:[0-9]+>)?)?'=>'articles/default/tag',



Код: php
1.
'articles/tag/(<tag:[^\/]+>)'=>'articles/default/tag',
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38124727
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

спасибо, не подумал... переписал. Надеялся что-то изменится, но нет. Ситуация остаётся прежней.
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38124741
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
    'articles/tag/<tag:[^\/]+>'=>'articles/default/tag',



Код: php
1.
        var_dump($this->createUrl('/articles/default/tag', array('tag'=>'teg-1')));



?
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38124792
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

кстати... в догонку, может что неправильно настроено. Просто когда я изменил
Код: php
1.
'articles/tag/(<tag:[^\/]+>(/page/<page:[0-9]+>)?)?'=>'articles/default/tag'


на
Код: php
1.
'articles/tag/<tag:[^\/]+>'=>'articles/default/tag'


перестали работать ссылки типа /articles/tag/teg-2/page/1 То есть, видна прямая завязка на параметры и их количество. Переписал на
Код: php
1.
'articles/tag/<tag:[^\/]+>'=>array('articles/default/tag', 'matchValue'=>false)


но ссылка /articles/tag/teg-2/page/1 так и не распознаётся (пишет 'Unable to resolve the request "articles/tag/teg-2/page/1".')

Код: php
1.
var_dump($this->createUrl('/articles/default/tag', array('tag'=>'teg-1')));

отдаёт /articles/tag?tag=teg-1
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38124796
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте убрать все лишние правила
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38124861
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettПопробуйте убрать все лишние правила

Закоментировал все правила кроме тех, что в первом сообщении (с учётом оговоренных изменений). Никаких изменений. Ссылки не принимаются, и createUrl делает всё как раньше.
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38124871
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрHettПопробуйте убрать все лишние правила

Закоментировал все правила кроме тех, что в первом сообщении (с учётом оговоренных изменений). Никаких изменений. Ссылки не принимаются, и createUrl делает всё как раньше.

вдогонку)))
когда закоментировал
Код: php
1.
'articles/<action:[^\/]+>'=>'articles/default/<action>',

createUrl начал работать как положено. Наверное правила просто местами сейчас поменяю, что бы он сначала проверял на наличие tag, а потом брал общий шаблон articles/<action>

Остаётся вопрос с articles/tag/teg-1/page/1 . Почему может не работать? )
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38124971
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
'articles/tag/<tag:[^\/]+>(/<page:\d+>)?'=>'articles/default/tag',


Может как-то так
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38124996
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во

Код: php
1.
    'articles/tag/<tag:[^\/]+>*'=>'articles/default/tag',
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38125092
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettво

Код: php
1.
    'articles/tag/<tag:[^\/]+>*'=>'articles/default/tag',



Спасибо. Сработало. А так и должно быть, или это изворот, для затыкания чьей-то ошибки?
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38125314
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нашел где-то на форуме. Думаю это предусмотрено, лень код лопатить.
...
Рейтинг: 0 / 0
(Yii) Прошу помощи с createUrl
    #38125381
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

Понятно. Большое спасибо. Всё заработало. Сейчас уже второй раздел в модуль переношу. Если так пойдёт, дня за 2 всё приложение реально перевести на модули :)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Yii) Прошу помощи с createUrl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]