Получить айди пользователя из строки

 
Посетитель
small user social cms
Медаль
Сообщений: 430
Привет всем, как мне получить 121 из строки.
instantcms.ru/users/121

Задача в хуке сравнить моя ли это страница пользователя. На ум приходит только одно, стравнение айди из строки и $user->id
Может есть какие варианты другие, но тем не менее вопрос такой smile
Посетитель
small user social cms
Медаль
Сообщений: 165
Что-то мне подсказывает, что данный функционал уже есть в системе, зайдя в профиль пользователя система определяет ваша это страница или нет.
Посмотрите в сторону компонента USERS.
Век живи, век учись.
Хостинг от Hostinger - Бесплатные и платные тарифы.
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3587
Рачей:
Задача в хуке сравнить моя ли это страница пользователя.
В каком именно хуке?
Посетитель
small user social cms
Медаль
Сообщений: 430
Loadырь:

Рачей:
Задача в хуке сравнить моя ли это страница пользователя.
В каком именно хуке?

controller/users/widgets_before_list
Редактировалось: 1 раз (Последний: 4 октября 2018 в 16:49)
Посетитель
small user social cms
Медаль
Сообщений: 430
Win_wiruzz:

Что-то мне подсказывает, что данный функционал уже есть в системе, зайдя в профиль пользователя система определяет ваша это страница или нет.
Посмотрите в сторону компонента USERS.

а как конкретно это посмотреть?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3587
Рачей, можно попробовать через
Код PHP:
  1. $uri_data = cmsCore::getInstance()->getUriData();
  2. if($uri_data['action'] == cmsUser::get('id')){ тут если страница совпала с посетителем })
Редактировалось: 1 раз (Последний: 4 октября 2018 в 17:04)
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1147
Рачей:
Привет всем, как мне получить 121 из строки.
instantcms.ru/users/121
Не самый кошерный вариант, но самый простой - посмотреть в $_SERVER['REQUEST_URI']
Посетитель
small user social cms
Медаль
Сообщений: 430
Loadырь:

Рачей, можно попробовать через
Код PHP:
  1. $uri_data = cmsCore::getInstance()->getUriData();
  2. if($uri_data['action'] == cmsUser::get('id')){ тут если страница совпала с посетителем })
Спасибо. Сработало на отлично! То что надо.
Посетитель
small user social cms
Медаль
Сообщений: 653
Рачей,

Код PHP:
  1. $current_profile = cmsModel::getCachedResult('current_profile');
  2. $id = $current_profile['id'];
  3.  
еще вариант в копилку
Посетитель
small user social cms
Медаль
Сообщений: 430
@SmartControl:

Рачей,

Код PHP:
  1. $current_profile = cmsModel::getCachedResult('current_profile');
  2. $id = $current_profile['id'];
  3.  
еще вариант в копилку
Спасибо, я тем воспользовался smile Все работает как надо. Может кому еще кроме меня пригодится smile
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3587
Рачей:
Спасибо, я тем воспользовался
В том условии ещё желательно поставить в условие $uri_data['controller'] == 'users', чтобы на страницах каких-нибудь сторонних компонентов не сработало.
Код PHP:
  1. if($uri_data['controller'] == 'users' && $uri_data['action'] == cmsUser::get('id'))
Посетитель
small user social cms
Медаль
Сообщений: 430
Loadырь:

Рачей:
Спасибо, я тем воспользовался
В том условии ещё желательно поставить в условие $uri_data['controller'] == 'users', чтобы на страницах каких-нибудь сторонних компонентов не сработало.
Код PHP:
  1. if($uri_data['controller'] == 'users' && $uri_data['action'] == cmsUser::get('id'))

В моем случае это не обязательно, так как там прячутся перечисленные виджеты которые выводятся только на странице пользователя. Они уже системой прикрыты.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.