Ссылка на профиль пользователя

Нашел в конфиге вот такой параметр

$config['module']['user']['profile_url'] = 'profile/%login%'; // ссылка на профиль пользователя

изменил на

$config['module']['user']['profile_url'] = 'user/%login%'; // ссылка на профиль пользователя

не работает... если делать вот так

$config['router']['rewrite'] = array(
'36356356' => 'admin',
'users' => 'people',
'users' => 'profile',
);

перестает работать 'users' => 'people',

так зачем же эта настройка?

12 комментариев

0
Конфиг-параметр module.user.profile_url сейчас не используется в движке. Возможно, будет в будущем, но пока нет.

А вот с этим кодом непонятно:
$config['router']['rewrite'] = array(
'36356356' => 'admin',
'users' => 'people',
'users' => 'profile',
);
Вы задаете переадресацию с users и на people, и на profile одновременно, что не может быть выполнено в принципе.
0
Вадим, тут штука такая, мне нужно с сылки на пользователей
site.ru/people сделать site.ru/users
и ссылку на профиль

site.ru/users/admin за место site.ru/profile/admin
0
Если уж очень нужно, то можно, конечно, сделать и так, возможностей движка на это хватит. Но это точно так нужно?

Сейчас адрес site.ru/profile/admin показывает профиль юзера с логином admin, а такой адрес: site.ru/people/online — список пользователей онлайн. Если сделать так, как просите, то получится:
site.ru/users/admin — это профиль админа
site.ru/users/online — это пользователи онлайн

Т.е. две ссылки с совершенно одинаковой структурой будут показывать разные вещи. Точно так нужно?
0
Т.е. две ссылки с совершенно одинаковой структурой будут показывать разные вещи. Точно так нужно? — так точно )
У меня планировалось делать вот так

site.ru/users/admin за место profile
site.ru/users/ за место site.ru/people

а страницу site.ru/people/online вообще в идеале скрыть
Отредактирован:
0
Хоть мне кажется это странным и нелогичным, но все это реализуемо настроками конфига (движок в этом плане очень гибкий). Например, в app/config/config.local.php задаете так:
$config['router']['uri'] = [
    'users' => 'people',
];

$config['router']['rewrite'] = [
    'users' => 'profile',
];
Но при этом site.com/people и site.com/people будут продолжать работать (т.е. могут быть дубли). Если нужно их закрыть, то надо задать так
$config['router']['uri'] = [
    'users' => 'people',
    'people' => '@404',
    'profile' => '@404',
];

$config['router']['rewrite'] = [
    'users' => 'profile',
];
0
Все работает, за исключение

$config['router']['uri'] = [
'users' => 'people',
'people' => 'index',
'profile' => '@404',
];

$config['router']['rewrite'] = [
'users' => 'profile',
];

http://site.ru/profile/admin/

эта страница все равно работает )
0
так же не изменяется ссылка
/people/country/149/
0
Да, точно, там надо так:
'people/*' => '@404',
0
Имею ввиду как изменить вот с этого /people/country/192/ на /users/country/192/
+1
Ох, вот говорю же — неправильно это, выводить по однотипным УРЛам совершенно разные вещи. Но если уж так хочется, то и это можно сделать. Надо просто добавить еще одно правило в $config['router']['uri']:
'[~^users/country/(\d+)$~]' => 'people/country/$1',
0
Спасибо )
config/config.local.php on line 64

E_PARSE [4] syntax error, unexpected '=>' (T_DOUBLE_ARROW)
See details in error.log
Отредактирован:
0
Вадим, тут ошибка

E_PARSE [4] syntax error, unexpected '=>' (T_DOUBLE_ARROW)
See details in error.log
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.