Очень нужна помощь! Хочу сделать имя автора статьи, ссылкой на его профиль (стоит EasyProfile) В данный момент в профиль пользователя можно попасть если нажать на его аватар в комментариях (jcomments) Это хорошо но.. Получается, если пользователь не отпишется в комментариях, его не найти, а это не очень хорошо, т.к. у него в профиле можно просматривать все материалы которые он выложил. Поэтому хочется поправить код и сделать имя автора статьи активной ссылкой на его профиль. Задача с виду не сложная, но до сих пор я ничего толком не нашел. Если не ошибаюсь вот код который за это отвечает: (путь: ...\components\com_content\views\category\tmpl\default_articles.php) <?php endif; ?> <?php if ($this->params->get('list_show_author', 1)) : ?> <td headers="categorylist_header_author" class="list-author"> <?php if (!empty($article->author) || !empty($article->created_by_alias)) : ?> <?php $author = $article->author ?> <?php $author = ($article->created_by_alias ? $article->created_by_alias : $author);?> <?php if (!empty($article->contact_link) && $this->params->get('link_author') == true) : ?> <?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', JHtml::_('link', $article->contact_link, $author)); ?> <?php else: ?> <?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?> <?php endif; ?> <?php endif; ?> Как я понял, он начинает работать если создать контакт и связать его с пользователем. (Да, я проверял, автор становиться ссылкой на контакты.) Понятное дело, тут нужно, если не все, то многое менять. Если кто-то может чем-то помочь, подсказать, помогите пожалуйста!
Убери условие показа автора если есть контакт Код (PHP): <?php if ($this->params->get('link_author') == true) : ?> <?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?> <?php endif; ?>
Я нашел список api разработчиков: http://docs.easy-profile.com/index.php/article/jsnuser-object Только, не очень разбираюсь в этом, можете подсказать? как мне это использовать, для формирования "автора как ссылки" Вот немного кода нашел, на форуме, но это про "аватары", как я понимаю: require_once(JPATH_SITE.'/components/com_jsn/helpers/helper.php'); $user=new JsnUser($id_of_user); echo $user->getValue('avatar'); Если я правильно понял, мне нужно формировать что-то вроде этого: require_once(JPATH_SITE.'/components/com_jsn/helpers/helper.php'); $user=JsnHelper::getUser($id_of_user); echo $user->getLink('profile'); ?
Ого) там много чего написано, прикрепил в виде txt "А это $id_of_user должен быть ID юзера ?" - Я так понял - да.
Так в аттаче хелпер,а не дамп . Ну есть ссылка на профиль в $user->getLink('profile'); ? Ты же написал готовый код, что не получается ?
Неа) Нашел куски кода, сижу голову ломаю, как это склеить вместе... require_once (JPATH_SITE.'/components/com_jsn/helpers/helper.php'); include_once (JPATH_SITE.'/components/com_jsn/helpers/helper.php'); <?php $api = JPATH_SITE.'/components/com_jsn/helpers/helper.php'; ?> <?php $userLink=JsnHelper::get_user_profile_url($userid, 'name', true, null, true); ?> <?php $user=JsnHelper::getUser($id_of_user); echo $user->getLink('profile'); ?> <?php $user=JsnHelper::getUser($id_of_user); $user->field_alias=value; ?> <?php $user=JsnHelper::getUser($author_id);?> <?$user=JsnHelper::getUser($user_id); ?>
Ну так начинай шаг за шагом . Получи ID автора, подключи один раз хелпер,а не несколько раз как у тебя. И используй методы с api разработчиков. И кстати там же заметка , что JsnUser наследует JUser, и можно использовать методы Джумла .