Вывод Никнейма в стороннем компоненте 2.X

 
Посетитель
no avatar
Сообщений: 15
Как вывести Никнейм пользователя в стороннем компоненте.
В стандарных шаблонах выводится вот так <?php echo $profile['nickname']; ?>

В предыдущей теме было такое решение:

1) В самом верху добавьте
<?php $user = cmsUser::getInstance(); ?>

2) В нужном месте выводим юзера. пропишите
<?php echo $user->nickname; ?>

Но это актуально только для самого пользователя, который авторизован, мне же нужно выводить в шаблоне никнейм пользователя чей профиль просматривается.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2643
@Sinatra:
мне же нужно выводить в шаблоне никнейм пользователя чей профиль просматривается
Так посмотрите, как он выводится в стандартном шаблоне:
\templates\default\controllers\users\profile_view.tpl.php
Реклама
cms
Посетитель
no avatar
Сообщений: 15
Ris:
в файле \templates\default\controllers\users\profile_view.tpl.php выводится именно так <?php echo $profile['nickname']; ?>
но мне надо вывести в файле \templates\default\controllers\dating\profile_dating_data.tpl.php
а там так не выводится, пустое место
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2643
@Sinatra,
Вы программист или где?
Посмотрите, откуда берется эта переменная $profile.
Подсказка:
\system\controllers\users\actions\profile.php

У Вас в вашем компоненте хоть как-то присутствует переменная, которая обозначает юзера, профиль которого просматривается?
Может хотя бы его id есть?
Посетитель
no avatar
Сообщений: 15
Я не программист, компонент куплен, пытаюсь разобраться.
Вот по видимому нужная часть кода
Код PHP:
  1. $dating_controller = cmsCore::getController('dating', $this->request);
  2. $dating_data = $dating_controller->profileDatingData($profile['id']);
  3.  
  4. return cmsTemplate::getInstance()->render('profile_view', array(
  5. 'profile' => $profile,
  6. 'user' => $user,
  7. 'is_own_profile' => $is_own_profile,
  8. 'is_friends_on' => $is_friends_on,
  9. 'is_friend_profile' => $is_friend_profile,
  10. 'is_friend_req' => $is_friend_req,
  11. 'friends' => $friends,
  12. 'content_counts' => $content_counts,
  13. 'fields' => $fields,
  14. 'wall_html' => isset($wall_html) ? $wall_html : false,
  15. 'tabs' => $this->getProfileMenu($profile),
  16. 'dating_data' => $dating_data
  17. ));
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2643
@Sinatra,
Ну так чтобы совсем этим не заморачиваться просто добавьте в рендер
'nickname' => $profile['nickname']
Потом в шаблоне сможете к нему обращаться просто $nickname

Я видел этот компонент. Это страшно.
Посетитель
no avatar
Сообщений: 15
Ris:

@Sinatra,
Ну так чтобы совсем этим не заморачиваться просто добавьте в рендер
'nickname' => $profile['nickname']
Потом в шаблоне сможете к нему обращаться просто $nickname

Я видел этот компонент. Это страшно.
не пашет(
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2643
@Sinatra,
Ну хоть какие-то упоминания о профиле юзера в шаблоне есть?
Выведите там это временно на посмотреть print_r($user); print_r($profile);
И гляньте чего там прилетает.
Посетитель
no avatar
Сообщений: 15
Ris:

@Sinatra,
Ну хоть какие-то упоминания о профиле юзера в шаблоне есть?
Выведите там это временно на посмотреть print_r($user); print_r($profile);
И гляньте чего там прилетает.
я так понимаю много чего прописано в \system\controllers\dating\model.php но он под ионкубом
Посетитель
no avatar
Сообщений: 15
вот что накопал еще в файле \system\controllers\dating\frontend.php
Код PHP:
  1. public function profileDatingData($profile_id){
  2.  
  3. $options = $this->options;
  4. $option_city = $options['city'];
  5.  
  6. $template = cmsTemplate::getInstance();
  7. $tpl_file = $template->getTemplateFileName('controllers/'.$this->name.'/profile_dating_data');
  8.  
  9.  
  10. if(!empty($options['profile_d'])) $dating = $this->model->getProfileDatingSettings($profile_id);
  11. if(!empty($options['profile_m'])) $meeting = $this->model->getProfileMeetingSettings($profile_id);
  12.  
  13. if(!$dating && !$meeting) return false;
  14.  
  15. $data = array($dating, $meeting, $option_city);
  16.  
  17. extract($data);
  18. include($tpl_file);
  19.  
  20. $html = ob_get_clean();
  21.  
  22. return $html;
  23.  
  24. }
и ещё в шаблоне \templates\dating\controllers\users\profile_view.tpl.php
строка
<?php echo $dating_data; ?>
подключает шаблон \templates\dating\controllers\dating\profile_dating_data.tpl.php
Редактировалось: 1 раз (Последний: 12 апреля 2018 в 21:24)
Посетитель
small user social cms
Медаль
Сообщений: 134
Ris:
print_r($user); print_r($profile);
Код PHP:
  1.  
  2. ?><pre><? print_r($user); ?></pre><?
  3. ?><pre><? print_r($profile); ?></pre><?
  4.  
Так выводится в более человеческом виде joke
Посетитель
no avatar
Сообщений: 15
в шаблоне profile_view.tpl.php выводит массив с данными
в шаблоне profile_dating_data.tpl.php невыводит ничего
Редактировалось: 1 раз (Последний: 12 апреля 2018 в 21:34)
Посетитель
small user social cms
Медаль
Сообщений: 134
в шаблоне profile_view.tpl.php выводит массив с данными

Я так понимаю он вам и нужен
Посетитель
no avatar
Сообщений: 15
oruchimaru:

в шаблоне profile_view.tpl.php выводит массив с данными

Я так понимаю он вам и нужен

Мне надо вывести в шаблоне profile_dating_data.tpl.phpа там NULL
Редактировалось: 1 раз (Последний: 12 апреля 2018 в 21:37)
Посетитель
small user social cms
Медаль
Сообщений: 134
@Sinatra:
Мне надо вывести в шаблоне profile_dating_data.tpl.phpа там NULL

Правильно, это совсем другой шаблон.. а находятся эти шаблоны в одном компоненте ? если да, то можно скопировать код с одного контроллера в другой.
Редактировалось: 1 раз (Последний: 12 апреля 2018 в 21:42)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: