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

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 12 апреля 2018 в 19:01
Как вывести Никнейм пользователя в стороннем компоненте.
В стандарных шаблонах выводится вот так <?php echo $profile['nickname']; ?>

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

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

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

Но это актуально только для самого пользователя, который авторизован, мне же нужно выводить в шаблоне никнейм пользователя чей профиль просматривается.
#2 12 апреля 2018 в 19:33

мне же нужно выводить в шаблоне никнейм пользователя чей профиль просматривается

@Sinatra
Так посмотрите, как он выводится в стандартном шаблоне:
\templates\default\controllers\users\profile_view.tpl.php
#3 12 апреля 2018 в 19:53
Ris
в файле \templates\default\controllers\users\profile_view.tpl.php выводится именно так <?php echo $profile['nickname']; ?>
но мне надо вывести в файле \templates\default\controllers\dating\profile_dating_data.tpl.php
а там так не выводится, пустое место
#4 12 апреля 2018 в 20:03
@Sinatra,
Вы программист или где?
Посмотрите, откуда берется эта переменная $profile.
Подсказка:
\system\controllers\users\actions\profile.php

У Вас в вашем компоненте хоть как-то присутствует переменная, которая обозначает юзера, профиль которого просматривается?
Может хотя бы его id есть?
#5 12 апреля 2018 в 20:15
Я не программист, компонент куплен, пытаюсь разобраться.
Вот по видимому нужная часть кода
  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. ));
#6 12 апреля 2018 в 20:23
@Sinatra,
Ну так чтобы совсем этим не заморачиваться просто добавьте в рендер
'nickname' => $profile['nickname']
Потом в шаблоне сможете к нему обращаться просто $nickname

Я видел этот компонент. Это страшно.
#7 12 апреля 2018 в 20:57


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

Я видел этот компонент. Это страшно.

Ris
не пашет(
#8 12 апреля 2018 в 21:03
@Sinatra,
Ну хоть какие-то упоминания о профиле юзера в шаблоне есть?
Выведите там это временно на посмотреть print_r($user); print_r($profile);
И гляньте чего там прилетает.
#9 12 апреля 2018 в 21:11


@Sinatra,
Ну хоть какие-то упоминания о профиле юзера в шаблоне есть?
Выведите там это временно на посмотреть print_r($user); print_r($profile);
И гляньте чего там прилетает.

Ris
я так понимаю много чего прописано в \system\controllers\dating\model.php но он под ионкубом
#10 12 апреля 2018 в 21:23
вот что накопал еще в файле \system\controllers\dating\frontend.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
#11 12 апреля 2018 в 21:27

print_r($user); print_r($profile);

Ris
  1.  
  2. ?><pre><? print_r($user); ?></pre><?
  3. ?><pre><? print_r($profile); ?></pre><?
  4.  
Так выводится в более человеческом виде joke
#12 12 апреля 2018 в 21:33
в шаблоне profile_view.tpl.php выводит массив с данными
в шаблоне profile_dating_data.tpl.php невыводит ничего
#13 12 апреля 2018 в 21:36

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


Я так понимаю он вам и нужен
#14 12 апреля 2018 в 21:37


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


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

oruchimaru

Мне надо вывести в шаблоне profile_dating_data.tpl.phpа там NULL
#15 12 апреля 2018 в 21:41

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

@Sinatra

Правильно, это совсем другой шаблон… а находятся эти шаблоны в одном компоненте? если да, то можно скопировать код с одного контроллера в другой.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.