[Hướng dẫn] Hiển thị tất cả người like post (Show all user like post)

Thảo luận trong 'Installation & Upgrade Questions' bắt đầu bởi vanthinh129, 19/10/15.

  1. vanthinh129

    vanthinh129 New Member

    Bài viết:
    9
    Likes :
    5
    Thấy nhiều bạn thích cách hiển thị danh sách user để bài viết sinh động và nhộn nhịp hơn thay vì hiện số người like nên mình nghiên cứu cái này để hỗ trợ mọi người. Mình có 2 cách để làm
    xenlike1 1/ Đơn giản nhất như hình thì làm như sau:
    Vào temp của giao diện tìm temp: likes_summary
    thay toàn bộ thành:
    Mã:
    <xen:if is="{$message.likes}">
        <xen:require css="likes_summary.css" />
        <div class="likesSummary secondaryContent">
            <span class="LikeText">
    Những thành viên đã like bài này:
            <xen:foreach loop="$message.likeUsers" value="$likeUser">
            <a href="index.php?members/{$likeUser.username}.{$likeUser.user_id}/" class="username" dir="auto">{$likeUser.username}</a>
            </xen:foreach>
            </span>
        </div>
    </xen:if>
    2/ Còn thêm các tùy chỉnh khác như hình dưới thì phải sửa code trong file library/Xenforo/Template/Helper/Core.php (hoặc thay nội dung file đó bằng file show_all.php đính kèm -nếu dùng ver 1.5.1):

    Tìm hàm:
    public static function helperLikesHtml($number, $likesLink, $likeDate = 0, array $users = array()){
    //nội dung code
    }
    Thay tất cả nội dung hàm bằng nội dung sau:
    Mã:
    public static function helperLikesHtml($number, $likesLink, $likeDate = 0, array $users = array())
    {
    $number = intval($number);
    if (empty($users))
    {
    if ($number > 1)
    {
    return new XenForo_Phrase('likes_x_people_like_this', array(
    'likes' => self::numberFormat($number),
    'likesLink' => $likesLink
    ));
    }
    else
    {
    return new XenForo_Phrase('likes_1_person_likes_this', array(
    'likes' => self::numberFormat($number),
    'likesLink' => $likesLink
    ));
    }
    }
    $userCount = count($users);
    for ($i = 0; $i < $userCount; $i++)
    {
    if (empty($users[$i]))
    {
    $users[$i] = array(
    'user_id' => 0,
    'username' => new XenForo_Phrase('deleted_user_parentheses') // costs a query, but edge case
    );
    }
    }
    $output .= 'Có '. $userCount.' người đã thích bài viết này: ';
    if ($likeDate)
    {
    $output .= new XenForo_Phrase('you') ;
    $visitorId = XenForo_Visitor::getUserId();
    foreach ($users AS $key => $user)
    {
    if ($user['user_id'] != $visitorId)
    {
    $output .= ', '.self::callHelper('username', array($user));
    }
    }
    }
    else
    {
    $output .= self::callHelper('username', array($users[0])).' ';
    foreach ($users as $key => $user) {
    if($key > 0){
    $output .= ', '.self::callHelper('username', array($user));
    }
    }
    }
    return $output;
    }
    

    xenlike2

    Cảm ơn bạn đã xem, hãy góp ý nếu có tối ưu hay lỗi gì nhé.
     

    Các file đính kèm:

    Bcat9505 thích bài này.
    Đang tải...
  2. Bcat9505

    Bcat9505 Moderator Staff Member

    Bài viết:
    1,335
    Likes :
    494
    hay quá a, cơ mà sang xen lúc nào vậy.... :D
     
    vanthinh129 thích bài này.
  3. vanthinh129

    vanthinh129 New Member

    Bài viết:
    9
    Likes :
    5
    mới á e :)), do thời thế thôi :3
     
    Bcat9505 thích bài này.
  4. masterdex

    masterdex New Member

    Bài viết:
    3
    Likes :
    0
    Và thêm avatar nếu có thể?
     
  5. masterdex

    masterdex New Member

    Bài viết:
    3
    Likes :
    0
    Số lượng người dùng tối đa là 5, có thể đã tăng lên?
     
  6. masterdex

    masterdex New Member

    Bài viết:
    3
    Likes :
    0
    như thế nào?
     
  7. dudoffvn

    dudoffvn New Member

    Bài viết:
    4
    Likes :
    0
    Hấp dẫn đó nhỉ! Thank Pro
     
comments powered by Disqus

Chia sẻ trang này

Đang tải...