0

今回は本当に助けが必要です-Joomla2.5と最新のK2。デフォルトのK2コメントシステムを使用しており、そのページのすべてのコメント投稿者に[説明]フィールドを表示したいと思います。これまでのところ、私はこのコードを持っています:

$thisUserdata =& JFactory::getUser($comment->userID);
echo $thisUserdata->profile->description;

ただし、これはページの作成者の説明のみを示しています。別のアカウントでログインすると、ログインしている限り、自分の説明も表示されます。

私が行っているコーディングはすべて/components/com_k2/templates/default/item.phpにあります

コメントのコード全体は次のようになります。

<?php if($this->item->numOfComments>0 && $this->item->params->get('itemComments') && ($this->item->params->get('comments') == '1' || ($this->item->params->get('comments') == '2'))): ?>
    <!-- Item user comments -->
      <ul>
        <?php foreach ($this->item->comments as $key=>$comment): ?>
        <li class="<?php echo ($key%2) ? "odd" : "even"; echo (!$this->item->created_by_alias && $comment->userID==$this->item->created_by) ? " author-comment" : ""; echo($comment->published) ? '':' unpublishedComment'; ?>">
            <div class="avatar">
                <?php if($comment->userImage): ?>
                <a href="<?php echo JFilterOutput::cleanText($comment->userLink); ?>" target="_blank" rel="nofollow">
                    <img src="<?php echo $comment->userImage; ?>" alt="<?php echo JFilterOutput::cleanText($comment->userName); ?>" width="<?php echo $this->item->params->get('commenterImgWidth'); ?>" />
                </a>
                <?php endif; ?>
            </div>
            <div class="inner">
                <div class="author">
                    <?php if(!empty($comment->userLink)): ?>
                        <a href="<?php echo $comment->userLink; ?>" title="View <?php echo $comment->userName; ?> profile" target="_blank" rel="nofollow">
                            <?php echo $comment->userName; ?>
                        </a>
                    <?php else: ?>
                        <a rel="nofollow"><?php echo $comment->userName; ?></a>
                    <?php endif; ?>
                </div>
                <div class="date">
                    &#160;<?php echo JHTML::_('date', $comment->commentDate, JText::_('K2_DATE_FORMAT_COM_MARIO')); ?>
                </div>
                <p><?php echo $comment->commentText; ?>
                <?php
                // USER DESCRIPTION
                $thisUserdata =& JFactory::getUser($comment->userID);
                echo $thisUserdata->profile->description;
                ?>          
                </div>
            </div>
        </li>
        <?php endforeach; ?>
      </ul>

      <div class="itemCommentsPagination">
        <?php echo $this->pagination->getPagesLinks(); ?>
        <div class="clr"></div>
      </div>
<?php endif; ?>

<?php if($this->item->params->get('commentsFormPosition')=='below' && $this->item->params->get('itemComments') && !JRequest::getInt('print') && ($this->item->params->get('comments') == '1' || ($this->item->params->get('comments') == '2' && K2HelperPermissions::canAddComment($this->item->catid)))): ?>
    <!-- Item comments form -->
    <div class="itemCommentsForm">
        <?php echo $this->loadTemplate('comments_form'); ?>
    </div>
<?php endif; ?>
4

1 に答える 1

0

Joomla 2.5では、これを使用して基本的なユーザー情報を取得できますが、以下を使用して、コメントしているユーザーの「説明」または「自己紹介」のコンテンツを取得します。

$commentUser = JUserHelper::getProfile($comment->userID);
print_r($commentUser);

$about_me = $commentUser->profile['aboutme'];
echo $about_me;

ここにもリンクがあります。これは、JUserHelperで他のことをしたい場合に役立つかもしれません。

http://api.joomla.org/Joomla-Platform/User/JUserHelper.html#getProfile

編集:プラグイン「ユーザー-プロファイル」が有効になっていることを確認してください。有効になっていないと、これは機能しません。

于 2012-06-12T18:46:33.657 に答える