Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Yii) Прошу помощи с createUrl / 13 сообщений из 13, страница 1 из 1
25.01.2013, 14:08
    #38124686
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Yii) Прошу помощи с createUrl
Всем привет.
В 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
25.01.2013, 14:17
    #38124714
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Yii) Прошу помощи с createUrl
Что-то я не совсем понял что вы хотите добиться этим
Код: php
1.
'articles/tag/(<tag:[^\/]+> (/page/<page:[0-9]+>)?)?'=>'articles/default/tag',



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

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



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



?
...
Рейтинг: 0 / 0
25.01.2013, 14:45
    #38124792
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Yii) Прошу помощи с createUrl
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
25.01.2013, 14:46
    #38124796
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Yii) Прошу помощи с createUrl
Попробуйте убрать все лишние правила
...
Рейтинг: 0 / 0
25.01.2013, 15:21
    #38124861
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Yii) Прошу помощи с createUrl
HettПопробуйте убрать все лишние правила

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

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

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

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

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


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

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

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



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

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


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