
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|||||||||||||||||||||||||||||||||||||||||
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 36 Пользователь №: 31252 На форуме: Карма: ![]() |
cms SocialEngine 4.2
Нужно узнать id пользователя у которого мы на странице, долго искал но толку так и небыло. Потом нашел чтото типа этого: $subject = Engine_Api::_()->core()->getSubject(); Если это вывести: print_r ($subject = Engine_Api::_()->core()->getSubject()); то увидем кучю всего включая id пользователя у которого мы на странице. Но как вытянуть это оттуда? Резульататы того что выводит: http://dl.dropbox.com/u/48040369/result.txt Подскажыте как достать ето значение отуда, или ещё какойто способ узнать эту инфо. Таким образом echo $subject = Engine_Api::_()->core()->getSubject('user'); можно вывести имя и фамилию, сразу ссылкой на профиль. Спустя 2 минуты, 37 секунд (25.01.2012 - 23:50) redreem написал(а): $subject = Engine_Api::_()->core()->getSubject(); не? Спустя 5 секунд (25.01.2012 - 23:50) Winston написал(а): OMG Напиши лучше так echo '<pre>'.print_r ($subject = Engine_Api::_()->core()->getSubject(),1).'</pre>'; Чтобы можно было хоть что-то разобрать Спустя 1 минута, 37 секунд (25.01.2012 - 23:52) TMake написал(а): skoch для начала сделай хотя бы так: <pre> Спустя 2 минуты, 26 секунд stepan написал(а): [_stmt:protected] => mysqli_stmt Object ([id] => 41) redreem твой вариант не подходит однозначно Спустя 5 минут, 38 секунд (25.01.2012 - 23:58) skoch написал(а): Огрмное спасибо, дествительно удобней http://dl.dropbox.com/u/48040369/result.txt Спустя 1 минута, 19 секунд skoch написал(а): Есть id в 11,31,63 строке Спустя 2 минуты, 12 секунд (26.01.2012 - 00:00) Winston написал(а): Можно было бы вот так достать $subject = Engine_Api::_()->core()->getSubject(); НО, все свойства с ИД пользователя защищены (protected) Потому просто так их не достать. Хотя можно дописать public метод который будет возвращать ИД пользователя. Спустя 15 секунд (26.01.2012 - 00:00) redreem написал(а): посмотрел вывод, попробуй например для имени так: echo $subject->_searchTriggers[2]; Спустя 1 минута (26.01.2012 - 00:01) Winston написал(а):
Ты что считал что ли? ![]() Нужно вытянуть поля user_id? Спустя 11 секунд (26.01.2012 - 00:01) redreem написал(а): да, просматривать свойства класса и пытаться их получить. явно user_id "присутствует" в: $subject->_primary[1] Спустя 26 секунд (26.01.2012 - 00:02) Winston написал(а):
Там все протектед, потому напрямую не получится. Спустя 3 минуты, 2 секунды (26.01.2012 - 00:05) skoch написал(а):
С самого начала так пытался, но потом подумал раз невыходит неправельно думаю. Результата нету, как быть с этим protected ? Спустя 49 секунд (26.01.2012 - 00:06) Winston написал(а):
Спустя 4 минуты, 2 секунды Winston написал(а): skoch А если написать? Engine_Api::_()->user()->getViewer()->getIdentity(); Спустя 11 минут, 52 секунды (26.01.2012 - 00:17) skoch написал(а):
Вывело мой ид, но не пользователя в которого мы находимся Спустя 34 секунды (26.01.2012 - 00:18) Winston написал(а): Упс... Да, я тупанул... Спустя 43 секунды Winston написал(а): skoch А как выглядит адресная строка пользователя у которого ты на странице? В адресной строке есть его ИД? Спустя 1 минута, 44 секунды (26.01.2012 - 00:20) skoch написал(а):
http://sce42/profile/dddddd вкоце ник пользователя. Можно по нему с базы узнать, но хочю бес запроса Спустя 3 минуты, 54 секунды skoch написал(а): Если выводить черезprint_r Engine_Api::_()->user()->getViewer() То Identity тоже protected, но выводится. Спустя 4 минуты, 17 секунд (26.01.2012 - 00:24) Winston написал(а): А на странице пользователя нигде ИД не выводится? Спустя 2 минуты, 44 секунды Winston написал(а): Можно попробовать код написать типа такого class getId extends User_Model_User Он должен ИД вернуть... Вроде бы... Спустя 6 минут, 46 секунд (26.01.2012 - 00:31) skoch написал(а): Ошибка: return parent::_data['user_id']; arse error: syntax error, unexpected '[' in D:\home\sce42\www\application\widgets\callendar\callendar\UserCallendar.php on line 29 ид в ссылках: Edit Member Profile Добавить в друзья Заблокировать Спустя 2 минуты, 13 секунд (26.01.2012 - 00:33) Winston написал(а): Хорошо, а если строку заменить на эту return parent::_data; И вместо echo $obj; написать print_r($obj); Будут ли там содержаться нужные данные? Спустя 19 секунд (26.01.2012 - 00:33) killer8080 написал(а): а если так class Api_ex extends Engine_Api{ Спустя 2 минуты, 11 секунд (26.01.2012 - 00:36) skoch написал(а):
Fatal error: Undefined class constant '_data' in D:\home\sce42\www\application\widgets\callendar\callendar\UserCallendar.php on line 29 Спустя 58 секунд skoch написал(а):
Fatal error: Access to undeclared static property: Engine_Api::$_data in D:\home\sce42\www\application\widgets\callendar\callendar\UserCallendar.php on line 27 Спустя 1 минута, 28 секунд (26.01.2012 - 00:37) Winston написал(а):
Блииин, точно провтыкал, $ забыл дописать :D return parent::$_data; Спустя 2 минуты, 13 секунд (26.01.2012 - 00:39) skoch написал(а):
Fatal error: Access to undeclared static property: User_Model_User::$_data in D:\home\sce42\www\application\widgets\callendar\callendar\UserCallendar.php on line 29 Сам код сейчас выглядит так: class getId extends User_Model_User { public function __construct() { return parent::$_data; } } $obj = new getId; print_r($obj); Спустя 1 минута, 52 секунды (26.01.2012 - 00:41) killer8080 написал(а): если сделать echo '<pre>'.print_r(get_class_vars(Engine_Api), 1).'</pre>'; что выводит? Есть ли там user_id? Спустя 13 секунд (26.01.2012 - 00:41) Winston написал(а): skoch А если попробовать наследовать как киллер написал, от Engine_Api? extends Engine_Api Спустя 55 секунд (26.01.2012 - 00:42) skoch написал(а):
Вывело
Спустя 1 минута, 40 секунд (26.01.2012 - 00:44) killer8080 написал(а):
ну да, он же протектед не покажет ![]() Спустя 28 секунд (26.01.2012 - 00:44) Winston написал(а): Походу так нужно написать :unsure: echo '<pre>'.print_r(new Engine_Api, 1).'</pre>'; Спустя 23 секунды (26.01.2012 - 00:45) skoch написал(а):
Fatal error: Access to undeclared static property: Engine_Api::$_data in D:\home\sce42\www\application\widgets\callendar\callendar\UserCallendar.php on line 28 Спустя 1 минута, 3 секунды skoch написал(а):
Engine_Api Object ( [_application:protected] => [_modules:protected] => Array ( ) [_currentModuleName:protected] => [_itemTypes:protected] => ) Спустя 2 минуты, 27 секунд (26.01.2012 - 00:47) Winston написал(а): Ну, а так? :D echo '<pre>'.print_r(new User_Model_User, 1).'</pre>'; Спустя 1 минута, 47 секунд Winston написал(а): Или так echo '<pre>'.print_r(Engine_Api::_()->user(), 1).'</pre>'; Спустя 3 минуты, 5 секунд Winston написал(а): Еще так попробуй :) echo Engine_Api::_()->core()->getSubject('user')->getIdentity(); Спустя 5 минут, 45 секунд (26.01.2012 - 00:53) skoch написал(а):
echo Engine_Api::_()->core()->getSubject('user')->getIdentity(); в точку ! Спустя 2 минуты, 6 секунд (26.01.2012 - 00:55) Winston написал(а):
Вот видишь, тычя пальцем в небо, можно и в точку попасть ![]() Спустя 2 минуты, 33 секунды (26.01.2012 - 00:58) skoch написал(а):
Ушло часов 5 на это попадание ![]() Спустя 1 минута, 41 секунда (26.01.2012 - 00:59) Winston написал(а): Все таки поиск по официальному форуму - рулит ![]() http://www.socialengineforum.com/index.php...d-of-a-profile/ |
||||||||||||||||||||||||||||||||||||||||
![]() |
![]() ![]() ![]() |